diff options
| author | David S. Miller <davem@davemloft.net> | 2013-02-08 18:02:14 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2013-02-08 18:02:14 -0500 |
| commit | fd5023111cf720db890ef34f305ac5d427e690a0 (patch) | |
| tree | 4d21e9a02bfbdafe5fc598af0755db791238dbe7 /include/linux | |
| parent | 8b9a4d56866e0dca6ae886ed9bff777e50d0b70c (diff) | |
| parent | 836dc9e3fbbab0c30aa6e664417225f5c1fb1c39 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Synchronize with 'net' in order to sort out some l2tp, wireless, and
ipv6 GRE fixes that will be built on top of in 'net-next'.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/efi.h | 24 | ||||
| -rw-r--r-- | include/linux/llist.h | 25 | ||||
| -rw-r--r-- | include/linux/memcontrol.h | 2 | ||||
| -rw-r--r-- | include/linux/mmu_notifier.h | 2 | ||||
| -rw-r--r-- | include/linux/usb.h | 2 | ||||
| -rw-r--r-- | include/linux/usb/hcd.h | 3 | ||||
| -rw-r--r-- | include/linux/usb/usbnet.h | 2 |
7 files changed, 51 insertions, 9 deletions
diff --git a/include/linux/efi.h b/include/linux/efi.h index 8b84916dc671..7a9498ab3c2d 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h | |||
| @@ -618,18 +618,30 @@ extern int __init efi_setup_pcdp_console(char *); | |||
| 618 | #endif | 618 | #endif |
| 619 | 619 | ||
| 620 | /* | 620 | /* |
| 621 | * We play games with efi_enabled so that the compiler will, if possible, remove | 621 | * We play games with efi_enabled so that the compiler will, if |
| 622 | * EFI-related code altogether. | 622 | * possible, remove EFI-related code altogether. |
| 623 | */ | 623 | */ |
| 624 | #define EFI_BOOT 0 /* Were we booted from EFI? */ | ||
| 625 | #define EFI_SYSTEM_TABLES 1 /* Can we use EFI system tables? */ | ||
| 626 | #define EFI_CONFIG_TABLES 2 /* Can we use EFI config tables? */ | ||
| 627 | #define EFI_RUNTIME_SERVICES 3 /* Can we use runtime services? */ | ||
| 628 | #define EFI_MEMMAP 4 /* Can we use EFI memory map? */ | ||
| 629 | #define EFI_64BIT 5 /* Is the firmware 64-bit? */ | ||
| 630 | |||
| 624 | #ifdef CONFIG_EFI | 631 | #ifdef CONFIG_EFI |
| 625 | # ifdef CONFIG_X86 | 632 | # ifdef CONFIG_X86 |
| 626 | extern int efi_enabled; | 633 | extern int efi_enabled(int facility); |
| 627 | extern bool efi_64bit; | ||
| 628 | # else | 634 | # else |
| 629 | # define efi_enabled 1 | 635 | static inline int efi_enabled(int facility) |
| 636 | { | ||
| 637 | return 1; | ||
| 638 | } | ||
| 630 | # endif | 639 | # endif |
| 631 | #else | 640 | #else |
| 632 | # define efi_enabled 0 | 641 | static inline int efi_enabled(int facility) |
| 642 | { | ||
| 643 | return 0; | ||
| 644 | } | ||
| 633 | #endif | 645 | #endif |
| 634 | 646 | ||
| 635 | /* | 647 | /* |
diff --git a/include/linux/llist.h b/include/linux/llist.h index a5199f6d0e82..d0ab98f73d38 100644 --- a/include/linux/llist.h +++ b/include/linux/llist.h | |||
| @@ -125,6 +125,31 @@ static inline void init_llist_head(struct llist_head *list) | |||
| 125 | (pos) = llist_entry((pos)->member.next, typeof(*(pos)), member)) | 125 | (pos) = llist_entry((pos)->member.next, typeof(*(pos)), member)) |
| 126 | 126 | ||
| 127 | /** | 127 | /** |
| 128 | * llist_for_each_entry_safe - iterate safely against remove over some entries | ||
| 129 | * of lock-less list of given type. | ||
| 130 | * @pos: the type * to use as a loop cursor. | ||
| 131 | * @n: another type * to use as a temporary storage. | ||
| 132 | * @node: the fist entry of deleted list entries. | ||
| 133 | * @member: the name of the llist_node with the struct. | ||
| 134 | * | ||
| 135 | * In general, some entries of the lock-less list can be traversed | ||
| 136 | * safely only after being removed from list, so start with an entry | ||
| 137 | * instead of list head. This variant allows removal of entries | ||
| 138 | * as we iterate. | ||
| 139 | * | ||
| 140 | * If being used on entries deleted from lock-less list directly, the | ||
| 141 | * traverse order is from the newest to the oldest added entry. If | ||
| 142 | * you want to traverse from the oldest to the newest, you must | ||
| 143 | * reverse the order by yourself before traversing. | ||
| 144 | */ | ||
| 145 | #define llist_for_each_entry_safe(pos, n, node, member) \ | ||
| 146 | for ((pos) = llist_entry((node), typeof(*(pos)), member), \ | ||
| 147 | (n) = (pos)->member.next; \ | ||
| 148 | &(pos)->member != NULL; \ | ||
| 149 | (pos) = llist_entry(n, typeof(*(pos)), member), \ | ||
| 150 | (n) = (&(pos)->member != NULL) ? (pos)->member.next : NULL) | ||
| 151 | |||
| 152 | /** | ||
| 128 | * llist_empty - tests whether a lock-less list is empty | 153 | * llist_empty - tests whether a lock-less list is empty |
| 129 | * @head: the list to test | 154 | * @head: the list to test |
| 130 | * | 155 | * |
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 0108a56f814e..28bd5fa2ff2e 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h | |||
| @@ -429,7 +429,7 @@ extern int memcg_limited_groups_array_size; | |||
| 429 | * the slab_mutex must be held when looping through those caches | 429 | * the slab_mutex must be held when looping through those caches |
| 430 | */ | 430 | */ |
| 431 | #define for_each_memcg_cache_index(_idx) \ | 431 | #define for_each_memcg_cache_index(_idx) \ |
| 432 | for ((_idx) = 0; i < memcg_limited_groups_array_size; (_idx)++) | 432 | for ((_idx) = 0; (_idx) < memcg_limited_groups_array_size; (_idx)++) |
| 433 | 433 | ||
| 434 | static inline bool memcg_kmem_enabled(void) | 434 | static inline bool memcg_kmem_enabled(void) |
| 435 | { | 435 | { |
diff --git a/include/linux/mmu_notifier.h b/include/linux/mmu_notifier.h index bc823c4c028b..deca87452528 100644 --- a/include/linux/mmu_notifier.h +++ b/include/linux/mmu_notifier.h | |||
| @@ -151,7 +151,7 @@ struct mmu_notifier_ops { | |||
| 151 | * Therefore notifier chains can only be traversed when either | 151 | * Therefore notifier chains can only be traversed when either |
| 152 | * | 152 | * |
| 153 | * 1. mmap_sem is held. | 153 | * 1. mmap_sem is held. |
| 154 | * 2. One of the reverse map locks is held (i_mmap_mutex or anon_vma->mutex). | 154 | * 2. One of the reverse map locks is held (i_mmap_mutex or anon_vma->rwsem). |
| 155 | * 3. No other concurrent thread can access the list (release) | 155 | * 3. No other concurrent thread can access the list (release) |
| 156 | */ | 156 | */ |
| 157 | struct mmu_notifier { | 157 | struct mmu_notifier { |
diff --git a/include/linux/usb.h b/include/linux/usb.h index 689b14b26c8d..4d22d0f6167a 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h | |||
| @@ -357,6 +357,8 @@ struct usb_bus { | |||
| 357 | int bandwidth_int_reqs; /* number of Interrupt requests */ | 357 | int bandwidth_int_reqs; /* number of Interrupt requests */ |
| 358 | int bandwidth_isoc_reqs; /* number of Isoc. requests */ | 358 | int bandwidth_isoc_reqs; /* number of Isoc. requests */ |
| 359 | 359 | ||
| 360 | unsigned resuming_ports; /* bit array: resuming root-hub ports */ | ||
| 361 | |||
| 360 | #if defined(CONFIG_USB_MON) || defined(CONFIG_USB_MON_MODULE) | 362 | #if defined(CONFIG_USB_MON) || defined(CONFIG_USB_MON_MODULE) |
| 361 | struct mon_bus *mon_bus; /* non-null when associated */ | 363 | struct mon_bus *mon_bus; /* non-null when associated */ |
| 362 | int monitored; /* non-zero when monitored */ | 364 | int monitored; /* non-zero when monitored */ |
diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h index 608050b2545f..0a78df5f6cfd 100644 --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h | |||
| @@ -430,6 +430,9 @@ extern void usb_hcd_poll_rh_status(struct usb_hcd *hcd); | |||
| 430 | extern void usb_wakeup_notification(struct usb_device *hdev, | 430 | extern void usb_wakeup_notification(struct usb_device *hdev, |
| 431 | unsigned int portnum); | 431 | unsigned int portnum); |
| 432 | 432 | ||
| 433 | extern void usb_hcd_start_port_resume(struct usb_bus *bus, int portnum); | ||
| 434 | extern void usb_hcd_end_port_resume(struct usb_bus *bus, int portnum); | ||
| 435 | |||
| 433 | /* The D0/D1 toggle bits ... USE WITH CAUTION (they're almost hcd-internal) */ | 436 | /* The D0/D1 toggle bits ... USE WITH CAUTION (they're almost hcd-internal) */ |
| 434 | #define usb_gettoggle(dev, ep, out) (((dev)->toggle[out] >> (ep)) & 1) | 437 | #define usb_gettoggle(dev, ep, out) (((dev)->toggle[out] >> (ep)) & 1) |
| 435 | #define usb_dotoggle(dev, ep, out) ((dev)->toggle[out] ^= (1 << (ep))) | 438 | #define usb_dotoggle(dev, ep, out) ((dev)->toggle[out] ^= (1 << (ep))) |
diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h index 0de078d4cdb9..0e5ac93bab10 100644 --- a/include/linux/usb/usbnet.h +++ b/include/linux/usb/usbnet.h | |||
| @@ -102,7 +102,6 @@ struct driver_info { | |||
| 102 | #define FLAG_LINK_INTR 0x0800 /* updates link (carrier) status */ | 102 | #define FLAG_LINK_INTR 0x0800 /* updates link (carrier) status */ |
| 103 | 103 | ||
| 104 | #define FLAG_POINTTOPOINT 0x1000 /* possibly use "usb%d" names */ | 104 | #define FLAG_POINTTOPOINT 0x1000 /* possibly use "usb%d" names */ |
| 105 | #define FLAG_NOARP 0x2000 /* device can't do ARP */ | ||
| 106 | 105 | ||
| 107 | /* | 106 | /* |
| 108 | * Indicates to usbnet, that USB driver accumulates multiple IP packets. | 107 | * Indicates to usbnet, that USB driver accumulates multiple IP packets. |
| @@ -110,6 +109,7 @@ struct driver_info { | |||
| 110 | */ | 109 | */ |
| 111 | #define FLAG_MULTI_PACKET 0x2000 | 110 | #define FLAG_MULTI_PACKET 0x2000 |
| 112 | #define FLAG_RX_ASSEMBLE 0x4000 /* rx packets may span >1 frames */ | 111 | #define FLAG_RX_ASSEMBLE 0x4000 /* rx packets may span >1 frames */ |
| 112 | #define FLAG_NOARP 0x8000 /* device can't do ARP */ | ||
| 113 | 113 | ||
| 114 | /* init device ... can sleep, or cause probe() failure */ | 114 | /* init device ... can sleep, or cause probe() failure */ |
| 115 | int (*bind)(struct usbnet *, struct usb_interface *); | 115 | int (*bind)(struct usbnet *, struct usb_interface *); |
