mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts: drivers/net/ethernet/intel/e1000e/param.c drivers/net/wireless/iwlwifi/iwl-agn-rx.c drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c drivers/net/wireless/iwlwifi/iwl-trans.h Resolved the iwlwifi conflict with mainline using 3-way diff posted by John Linville and Stephen Rothwell. In 'net' we added a bug fix to make iwlwifi report a more accurate skb->truesize but this conflicted with RX path changes that happened meanwhile in net-next. In e1000e a conflict arose in the validation code for settings of adapter->itr. 'net-next' had more sophisticated logic so that logic was used. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
0d6c4a2e46
380 changed files with 4073 additions and 2379 deletions
|
|
@ -554,7 +554,18 @@ extern int __init efi_setup_pcdp_console(char *);
|
|||
#define EFI_VARIABLE_NON_VOLATILE 0x0000000000000001
|
||||
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x0000000000000002
|
||||
#define EFI_VARIABLE_RUNTIME_ACCESS 0x0000000000000004
|
||||
#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x0000000000000008
|
||||
#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x0000000000000010
|
||||
#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x0000000000000020
|
||||
#define EFI_VARIABLE_APPEND_WRITE 0x0000000000000040
|
||||
|
||||
#define EFI_VARIABLE_MASK (EFI_VARIABLE_NON_VOLATILE | \
|
||||
EFI_VARIABLE_BOOTSERVICE_ACCESS | \
|
||||
EFI_VARIABLE_RUNTIME_ACCESS | \
|
||||
EFI_VARIABLE_HARDWARE_ERROR_RECORD | \
|
||||
EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS | \
|
||||
EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS | \
|
||||
EFI_VARIABLE_APPEND_WRITE)
|
||||
/*
|
||||
* The type of search to perform when calling boottime->locate_handle
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -159,7 +159,8 @@ static inline void eth_hw_addr_random(struct net_device *dev)
|
|||
* @addr1: Pointer to a six-byte array containing the Ethernet address
|
||||
* @addr2: Pointer other six-byte array containing the Ethernet address
|
||||
*
|
||||
* Compare two ethernet addresses, returns 0 if equal
|
||||
* Compare two ethernet addresses, returns 0 if equal, non-zero otherwise.
|
||||
* Unlike memcmp(), it doesn't return a value suitable for sorting.
|
||||
*/
|
||||
static inline unsigned compare_ether_addr(const u8 *addr1, const u8 *addr2)
|
||||
{
|
||||
|
|
@ -184,10 +185,10 @@ static inline unsigned long zap_last_2bytes(unsigned long value)
|
|||
* @addr1: Pointer to an array of 8 bytes
|
||||
* @addr2: Pointer to an other array of 8 bytes
|
||||
*
|
||||
* Compare two ethernet addresses, returns 0 if equal.
|
||||
* Same result than "memcmp(addr1, addr2, ETH_ALEN)" but without conditional
|
||||
* branches, and possibly long word memory accesses on CPU allowing cheap
|
||||
* unaligned memory reads.
|
||||
* Compare two ethernet addresses, returns 0 if equal, non-zero otherwise.
|
||||
* Unlike memcmp(), it doesn't return a value suitable for sorting.
|
||||
* The function doesn't need any conditional branches and possibly uses
|
||||
* word memory accesses on CPU allowing cheap unaligned memory reads.
|
||||
* arrays = { byte1, byte2, byte3, byte4, byte6, byte7, pad1, pad2}
|
||||
*
|
||||
* Please note that alignment of addr1 & addr2 is only guaranted to be 16 bits.
|
||||
|
|
|
|||
|
|
@ -13,4 +13,8 @@ extern int pxa_last_gpio;
|
|||
|
||||
extern int pxa_irq_to_gpio(int irq);
|
||||
|
||||
struct pxa_gpio_platform_data {
|
||||
int (*gpio_set_wake)(unsigned int gpio, unsigned int on);
|
||||
};
|
||||
|
||||
#endif /* __GPIO_PXA_H */
|
||||
|
|
|
|||
|
|
@ -26,9 +26,9 @@
|
|||
#include <linux/device.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/scatterlist.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/notifier.h>
|
||||
|
||||
/* HSI message ttype */
|
||||
#define HSI_MSG_READ 0
|
||||
|
|
@ -121,18 +121,18 @@ static inline int hsi_register_board_info(struct hsi_board_info const *info,
|
|||
* @device: Driver model representation of the device
|
||||
* @tx_cfg: HSI TX configuration
|
||||
* @rx_cfg: HSI RX configuration
|
||||
* @hsi_start_rx: Called after incoming wake line goes high
|
||||
* @hsi_stop_rx: Called after incoming wake line goes low
|
||||
* @e_handler: Callback for handling port events (RX Wake High/Low)
|
||||
* @pclaimed: Keeps tracks if the clients claimed its associated HSI port
|
||||
* @nb: Notifier block for port events
|
||||
*/
|
||||
struct hsi_client {
|
||||
struct device device;
|
||||
struct hsi_config tx_cfg;
|
||||
struct hsi_config rx_cfg;
|
||||
void (*hsi_start_rx)(struct hsi_client *cl);
|
||||
void (*hsi_stop_rx)(struct hsi_client *cl);
|
||||
/* private: */
|
||||
void (*ehandler)(struct hsi_client *, unsigned long);
|
||||
unsigned int pclaimed:1;
|
||||
struct list_head link;
|
||||
struct notifier_block nb;
|
||||
};
|
||||
|
||||
#define to_hsi_client(dev) container_of(dev, struct hsi_client, device)
|
||||
|
|
@ -147,6 +147,10 @@ static inline void *hsi_client_drvdata(struct hsi_client *cl)
|
|||
return dev_get_drvdata(&cl->device);
|
||||
}
|
||||
|
||||
int hsi_register_port_event(struct hsi_client *cl,
|
||||
void (*handler)(struct hsi_client *, unsigned long));
|
||||
int hsi_unregister_port_event(struct hsi_client *cl);
|
||||
|
||||
/**
|
||||
* struct hsi_client_driver - Driver associated to an HSI client
|
||||
* @driver: Driver model representation of the driver
|
||||
|
|
@ -214,8 +218,7 @@ void hsi_free_msg(struct hsi_msg *msg);
|
|||
* @start_tx: Callback to inform that a client wants to TX data
|
||||
* @stop_tx: Callback to inform that a client no longer wishes to TX data
|
||||
* @release: Callback to inform that a client no longer uses the port
|
||||
* @clients: List of hsi_clients using the port.
|
||||
* @clock: Lock to serialize access to the clients list.
|
||||
* @n_head: Notifier chain for signaling port events to the clients.
|
||||
*/
|
||||
struct hsi_port {
|
||||
struct device device;
|
||||
|
|
@ -231,14 +234,14 @@ struct hsi_port {
|
|||
int (*start_tx)(struct hsi_client *cl);
|
||||
int (*stop_tx)(struct hsi_client *cl);
|
||||
int (*release)(struct hsi_client *cl);
|
||||
struct list_head clients;
|
||||
spinlock_t clock;
|
||||
/* private */
|
||||
struct atomic_notifier_head n_head;
|
||||
};
|
||||
|
||||
#define to_hsi_port(dev) container_of(dev, struct hsi_port, device)
|
||||
#define hsi_get_port(cl) to_hsi_port((cl)->device.parent)
|
||||
|
||||
void hsi_event(struct hsi_port *port, unsigned int event);
|
||||
int hsi_event(struct hsi_port *port, unsigned long event);
|
||||
int hsi_claim_port(struct hsi_client *cl, unsigned int share);
|
||||
void hsi_release_port(struct hsi_client *cl);
|
||||
|
||||
|
|
@ -270,13 +273,13 @@ struct hsi_controller {
|
|||
struct module *owner;
|
||||
unsigned int id;
|
||||
unsigned int num_ports;
|
||||
struct hsi_port *port;
|
||||
struct hsi_port **port;
|
||||
};
|
||||
|
||||
#define to_hsi_controller(dev) container_of(dev, struct hsi_controller, device)
|
||||
|
||||
struct hsi_controller *hsi_alloc_controller(unsigned int n_ports, gfp_t flags);
|
||||
void hsi_free_controller(struct hsi_controller *hsi);
|
||||
void hsi_put_controller(struct hsi_controller *hsi);
|
||||
int hsi_register_controller(struct hsi_controller *hsi);
|
||||
void hsi_unregister_controller(struct hsi_controller *hsi);
|
||||
|
||||
|
|
@ -294,7 +297,7 @@ static inline void *hsi_controller_drvdata(struct hsi_controller *hsi)
|
|||
static inline struct hsi_port *hsi_find_port_num(struct hsi_controller *hsi,
|
||||
unsigned int num)
|
||||
{
|
||||
return (num < hsi->num_ports) ? &hsi->port[num] : NULL;
|
||||
return (num < hsi->num_ports) ? hsi->port[num] : NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -996,7 +996,8 @@ extern int ata_sas_scsi_ioctl(struct ata_port *ap, struct scsi_device *dev,
|
|||
extern void ata_sas_port_destroy(struct ata_port *);
|
||||
extern struct ata_port *ata_sas_port_alloc(struct ata_host *,
|
||||
struct ata_port_info *, struct Scsi_Host *);
|
||||
extern int ata_sas_async_port_init(struct ata_port *);
|
||||
extern void ata_sas_async_probe(struct ata_port *ap);
|
||||
extern int ata_sas_sync_probe(struct ata_port *ap);
|
||||
extern int ata_sas_port_init(struct ata_port *);
|
||||
extern int ata_sas_port_start(struct ata_port *ap);
|
||||
extern void ata_sas_port_stop(struct ata_port *ap);
|
||||
|
|
|
|||
|
|
@ -104,9 +104,18 @@ struct bridge_skb_cb {
|
|||
} daddr;
|
||||
};
|
||||
|
||||
static inline void br_drop_fake_rtable(struct sk_buff *skb)
|
||||
{
|
||||
struct dst_entry *dst = skb_dst(skb);
|
||||
|
||||
if (dst && (dst->flags & DST_FAKE_RTABLE))
|
||||
skb_dst_drop(skb);
|
||||
}
|
||||
|
||||
#else
|
||||
#define nf_bridge_maybe_copy_header(skb) (0)
|
||||
#define nf_bridge_pad(skb) (0)
|
||||
#define br_drop_fake_rtable(skb) do { } while (0)
|
||||
#endif /* CONFIG_BRIDGE_NETFILTER */
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
|
|
|||
|
|
@ -312,6 +312,11 @@ struct nfs4_layoutreturn {
|
|||
int rpc_status;
|
||||
};
|
||||
|
||||
struct stateowner_id {
|
||||
__u64 create_time;
|
||||
__u32 uniquifier;
|
||||
};
|
||||
|
||||
/*
|
||||
* Arguments to the open call.
|
||||
*/
|
||||
|
|
@ -321,7 +326,7 @@ struct nfs_openargs {
|
|||
int open_flags;
|
||||
fmode_t fmode;
|
||||
__u64 clientid;
|
||||
__u64 id;
|
||||
struct stateowner_id id;
|
||||
union {
|
||||
struct {
|
||||
struct iattr * attrs; /* UNCHECKED, GUARDED */
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
#define PIPE_BUF_FLAG_LRU 0x01 /* page is on the LRU */
|
||||
#define PIPE_BUF_FLAG_ATOMIC 0x02 /* was atomically mapped */
|
||||
#define PIPE_BUF_FLAG_GIFT 0x04 /* page is a gift */
|
||||
#define PIPE_BUF_FLAG_PACKET 0x08 /* read() as a packet */
|
||||
|
||||
/**
|
||||
* struct pipe_buffer - a linux kernel pipe buffer
|
||||
|
|
|
|||
|
|
@ -1036,7 +1036,7 @@ static inline void skb_queue_splice(const struct sk_buff_head *list,
|
|||
}
|
||||
|
||||
/**
|
||||
* skb_queue_splice - join two skb lists and reinitialise the emptied list
|
||||
* skb_queue_splice_init - join two skb lists and reinitialise the emptied list
|
||||
* @list: the new list to add
|
||||
* @head: the place to add it in the first list
|
||||
*
|
||||
|
|
@ -1067,7 +1067,7 @@ static inline void skb_queue_splice_tail(const struct sk_buff_head *list,
|
|||
}
|
||||
|
||||
/**
|
||||
* skb_queue_splice_tail - join two skb lists and reinitialise the emptied list
|
||||
* skb_queue_splice_tail_init - join two skb lists and reinitialise the emptied list
|
||||
* @list: the new list to add
|
||||
* @head: the place to add it in the first list
|
||||
*
|
||||
|
|
|
|||
|
|
@ -254,7 +254,7 @@ static inline void spi_unregister_driver(struct spi_driver *sdrv)
|
|||
* driver is finished with this message, it must call
|
||||
* spi_finalize_current_message() so the subsystem can issue the next
|
||||
* transfer
|
||||
* @prepare_transfer_hardware: there are currently no more messages on the
|
||||
* @unprepare_transfer_hardware: there are currently no more messages on the
|
||||
* queue so the subsystem notifies the driver that it may relax the
|
||||
* hardware by issuing this call
|
||||
*
|
||||
|
|
|
|||
|
|
@ -126,6 +126,8 @@ struct usb_hcd {
|
|||
unsigned wireless:1; /* Wireless USB HCD */
|
||||
unsigned authorized_default:1;
|
||||
unsigned has_tt:1; /* Integrated TT in root hub */
|
||||
unsigned broken_pci_sleep:1; /* Don't put the
|
||||
controller in PCI-D3 for system sleep */
|
||||
|
||||
unsigned int irq; /* irq allocated */
|
||||
void __iomem *regs; /* device memory/io */
|
||||
|
|
|
|||
|
|
@ -26,13 +26,14 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
|
|||
PGFREE, PGACTIVATE, PGDEACTIVATE,
|
||||
PGFAULT, PGMAJFAULT,
|
||||
FOR_ALL_ZONES(PGREFILL),
|
||||
FOR_ALL_ZONES(PGSTEAL),
|
||||
FOR_ALL_ZONES(PGSTEAL_KSWAPD),
|
||||
FOR_ALL_ZONES(PGSTEAL_DIRECT),
|
||||
FOR_ALL_ZONES(PGSCAN_KSWAPD),
|
||||
FOR_ALL_ZONES(PGSCAN_DIRECT),
|
||||
#ifdef CONFIG_NUMA
|
||||
PGSCAN_ZONE_RECLAIM_FAILED,
|
||||
#endif
|
||||
PGINODESTEAL, SLABS_SCANNED, KSWAPD_STEAL, KSWAPD_INODESTEAL,
|
||||
PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL,
|
||||
KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY,
|
||||
KSWAPD_SKIP_CONGESTION_WAIT,
|
||||
PAGEOUTRUN, ALLOCSTALL, PGROTATED,
|
||||
|
|
|
|||
Loading…
Reference in a new issue