diff options
| author | Olof Johansson <olof@lixom.net> | 2012-09-05 15:35:48 -0700 | 
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2012-09-05 15:35:48 -0700 | 
| commit | 1875962377574b4edb7b164001e3e341c25290d5 (patch) | |
| tree | 374a5299403ec21e2d9a66a6548ce876a388b589 /drivers/net/usb/sierra_net.c | |
| parent | 5cbee140a28c2746449ae31e85738043ae4da927 (diff) | |
| parent | c88a79a7789b2909ad1cf69ea2c9142030bbd6f4 (diff) | |
| download | olio-linux-3.10-1875962377574b4edb7b164001e3e341c25290d5.tar.xz olio-linux-3.10-1875962377574b4edb7b164001e3e341c25290d5.zip  | |
Merge branch 'soc-core' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt
* 'soc-core' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: mach-shmobile: Add compilation support for dtbs using 'make dtbs'
  + sync to 3.6-rc3
Diffstat (limited to 'drivers/net/usb/sierra_net.c')
| -rw-r--r-- | drivers/net/usb/sierra_net.c | 52 | 
1 files changed, 12 insertions, 40 deletions
diff --git a/drivers/net/usb/sierra_net.c b/drivers/net/usb/sierra_net.c index d75d1f56bec..7be49ea60b6 100644 --- a/drivers/net/usb/sierra_net.c +++ b/drivers/net/usb/sierra_net.c @@ -68,15 +68,8 @@ static	atomic_t iface_counter = ATOMIC_INIT(0);   */  #define SIERRA_NET_USBCTL_BUF_LEN	1024 -/* list of interface numbers - used for constructing interface lists */ -struct sierra_net_iface_info { -	const u32 infolen;	/* number of interface numbers on list */ -	const u8  *ifaceinfo;	/* pointer to the array holding the numbers */ -}; -  struct sierra_net_info_data {  	u16 rx_urb_size; -	struct sierra_net_iface_info whitelist;  };  /* Private data structure */ @@ -637,21 +630,6 @@ static int sierra_net_change_mtu(struct net_device *net, int new_mtu)  	return usbnet_change_mtu(net, new_mtu);  } -static int is_whitelisted(const u8 ifnum, -			const struct sierra_net_iface_info *whitelist) -{ -	if (whitelist) { -		const u8 *list = whitelist->ifaceinfo; -		int i; - -		for (i = 0; i < whitelist->infolen; i++) { -			if (list[i] == ifnum) -				return 1; -		} -	} -	return 0; -} -  static int sierra_net_get_fw_attr(struct usbnet *dev, u16 *datap)  {  	int result = 0; @@ -706,11 +684,6 @@ static int sierra_net_bind(struct usbnet *dev, struct usb_interface *intf)  	dev_dbg(&dev->udev->dev, "%s", __func__);  	ifacenum = intf->cur_altsetting->desc.bInterfaceNumber; -	/* We only accept certain interfaces */ -	if (!is_whitelisted(ifacenum, &data->whitelist)) { -		dev_dbg(&dev->udev->dev, "Ignoring interface: %d", ifacenum); -		return -ENODEV; -	}  	numendpoints = intf->cur_altsetting->desc.bNumEndpoints;  	/* We have three endpoints, bulk in and out, and a status */  	if (numendpoints != 3) { @@ -945,13 +918,8 @@ struct sk_buff *sierra_net_tx_fixup(struct usbnet *dev, struct sk_buff *skb,  	return NULL;  } -static const u8 sierra_net_ifnum_list[] = { 7, 10, 11 };  static const struct sierra_net_info_data sierra_net_info_data_direct_ip = {  	.rx_urb_size = 8 * 1024, -	.whitelist = { -		.infolen = ARRAY_SIZE(sierra_net_ifnum_list), -		.ifaceinfo = sierra_net_ifnum_list -	}  };  static const struct driver_info sierra_net_info_direct_ip = { @@ -965,15 +933,19 @@ static const struct driver_info sierra_net_info_direct_ip = {  	.data = (unsigned long)&sierra_net_info_data_direct_ip,  }; +#define DIRECT_IP_DEVICE(vend, prod) \ +	{USB_DEVICE_INTERFACE_NUMBER(vend, prod, 7), \ +	.driver_info = (unsigned long)&sierra_net_info_direct_ip}, \ +	{USB_DEVICE_INTERFACE_NUMBER(vend, prod, 10), \ +	.driver_info = (unsigned long)&sierra_net_info_direct_ip}, \ +	{USB_DEVICE_INTERFACE_NUMBER(vend, prod, 11), \ +	.driver_info = (unsigned long)&sierra_net_info_direct_ip} +  static const struct usb_device_id products[] = { -	{USB_DEVICE(0x1199, 0x68A3), /* Sierra Wireless USB-to-WWAN modem */ -	.driver_info = (unsigned long) &sierra_net_info_direct_ip}, -	{USB_DEVICE(0x0F3D, 0x68A3), /* AT&T Direct IP modem */ -	.driver_info = (unsigned long) &sierra_net_info_direct_ip}, -	{USB_DEVICE(0x1199, 0x68AA), /* Sierra Wireless Direct IP LTE modem */ -	.driver_info = (unsigned long) &sierra_net_info_direct_ip}, -	{USB_DEVICE(0x0F3D, 0x68AA), /* AT&T Direct IP LTE modem */ -	.driver_info = (unsigned long) &sierra_net_info_direct_ip}, +	DIRECT_IP_DEVICE(0x1199, 0x68A3), /* Sierra Wireless USB-to-WWAN modem */ +	DIRECT_IP_DEVICE(0x0F3D, 0x68A3), /* AT&T Direct IP modem */ +	DIRECT_IP_DEVICE(0x1199, 0x68AA), /* Sierra Wireless Direct IP LTE modem */ +	DIRECT_IP_DEVICE(0x0F3D, 0x68AA), /* AT&T Direct IP LTE modem */  	{}, /* last item */  };  |