summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJiri Pirko <jiri@resnulli.us>2013-05-27 21:30:21 -0400
committerDavid S. Miller <davem@davemloft.net>2013-05-28 16:11:01 -0400
commit351638e7deeed2ec8ce451b53d33921b3da68f83 (patch)
tree175dfff289b5e3baecffbc7e97d1884e9a18345c /drivers
parentb1098bbe1b24d5d90cff92fbd716d2ef4bed2cff (diff)
net: pass info struct via netdevice notifier
So far, only net_device * could be passed along with netdevice notifier event. This patch provides a possibility to pass custom structure able to provide info that event listener needs to know. Signed-off-by: Jiri Pirko <jiri@resnulli.us> v2->v3: fix typo on simeth shortened dev_getter shortened notifier_info struct name v1->v2: fix notifier_call parameter in call_netdevice_notifier() Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/infiniband/core/cma.c4
-rw-r--r--drivers/infiniband/hw/mlx4/main.c2
-rw-r--r--drivers/net/bonding/bond_main.c2
-rw-r--r--drivers/net/can/led.c4
-rw-r--r--drivers/net/ethernet/broadcom/cnic.c2
-rw-r--r--drivers/net/ethernet/marvell/skge.c2
-rw-r--r--drivers/net/ethernet/marvell/sky2.c2
-rw-r--r--drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c2
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c2
-rw-r--r--drivers/net/ethernet/sfc/efx.c2
-rw-r--r--drivers/net/hamradio/bpqether.c7
-rw-r--r--drivers/net/macvlan.c2
-rw-r--r--drivers/net/macvtap.c2
-rw-r--r--drivers/net/netconsole.c5
-rw-r--r--drivers/net/ppp/pppoe.c2
-rw-r--r--drivers/net/team/team.c2
-rw-r--r--drivers/net/wan/dlci.c2
-rw-r--r--drivers/net/wan/hdlc.c2
-rw-r--r--drivers/net/wan/lapbether.c2
-rw-r--r--drivers/scsi/fcoe/fcoe.c2
-rw-r--r--drivers/scsi/fcoe/fcoe_transport.c2
-rw-r--r--drivers/staging/csr/netdev.c2
-rw-r--r--drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c2
-rw-r--r--drivers/staging/ft1000/ft1000-usb/ft1000_proc.c2
-rw-r--r--drivers/staging/silicom/bpctl_mod.c2
25 files changed, 31 insertions, 31 deletions
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 71c2c7116802..34fbc2f60a09 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -3269,9 +3269,9 @@ static int cma_netdev_change(struct net_device *ndev, struct rdma_id_private *id
3269} 3269}
3270 3270
3271static int cma_netdev_callback(struct notifier_block *self, unsigned long event, 3271static int cma_netdev_callback(struct notifier_block *self, unsigned long event,
3272 void *ctx) 3272 void *ptr)
3273{ 3273{
3274 struct net_device *ndev = (struct net_device *)ctx; 3274 struct net_device *ndev = netdev_notifier_info_to_dev(ptr);
3275 struct cma_device *cma_dev; 3275 struct cma_device *cma_dev;
3276 struct rdma_id_private *id_priv; 3276 struct rdma_id_private *id_priv;
3277 int ret = NOTIFY_DONE; 3277 int ret = NOTIFY_DONE;
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
index 23d734349d8e..a188d3178559 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -1161,7 +1161,7 @@ static void netdev_removed(struct mlx4_ib_dev *dev, int port)
1161static int mlx4_ib_netdev_event(struct notifier_block *this, unsigned long event, 1161static int mlx4_ib_netdev_event(struct notifier_block *this, unsigned long event,
1162 void *ptr) 1162 void *ptr)
1163{ 1163{
1164 struct net_device *dev = ptr; 1164 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
1165 struct mlx4_ib_dev *ibdev; 1165 struct mlx4_ib_dev *ibdev;
1166 struct net_device *oldnd; 1166 struct net_device *oldnd;
1167 struct mlx4_ib_iboe *iboe; 1167 struct mlx4_ib_iboe *iboe;
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 29b846cbfb48..f4489d65bf33 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -3277,7 +3277,7 @@ static int bond_slave_netdev_event(unsigned long event,
3277static int bond_netdev_event(struct notifier_block *this, 3277static int bond_netdev_event(struct notifier_block *this,
3278 unsigned long event, void *ptr) 3278 unsigned long event, void *ptr)
3279{ 3279{
3280 struct net_device *event_dev = (struct net_device *)ptr; 3280 struct net_device *event_dev = netdev_notifier_info_to_dev(ptr);
3281 3281
3282 pr_debug("event_dev: %s, event: %lx\n", 3282 pr_debug("event_dev: %s, event: %lx\n",
3283 event_dev ? event_dev->name : "None", 3283 event_dev ? event_dev->name : "None",
diff --git a/drivers/net/can/led.c b/drivers/net/can/led.c
index f27fca65dc4a..a3d99a8fd2d1 100644
--- a/drivers/net/can/led.c
+++ b/drivers/net/can/led.c
@@ -88,9 +88,9 @@ EXPORT_SYMBOL_GPL(devm_can_led_init);
88 88
89/* NETDEV rename notifier to rename the associated led triggers too */ 89/* NETDEV rename notifier to rename the associated led triggers too */
90static int can_led_notifier(struct notifier_block *nb, unsigned long msg, 90static int can_led_notifier(struct notifier_block *nb, unsigned long msg,
91 void *data) 91 void *ptr)
92{ 92{
93 struct net_device *netdev = data; 93 struct net_device *netdev = netdev_notifier_info_to_dev(ptr);
94 struct can_priv *priv = safe_candev_priv(netdev); 94 struct can_priv *priv = safe_candev_priv(netdev);
95 char name[CAN_LED_NAME_SZ]; 95 char name[CAN_LED_NAME_SZ];
96 96
diff --git a/drivers/net/ethernet/broadcom/cnic.c b/drivers/net/ethernet/broadcom/cnic.c
index 6b0dc131b20e..d78d4cf140ed 100644
--- a/drivers/net/ethernet/broadcom/cnic.c
+++ b/drivers/net/ethernet/broadcom/cnic.c
@@ -5622,7 +5622,7 @@ static void cnic_rcv_netevent(struct cnic_local *cp, unsigned long event,
5622static int cnic_netdev_event(struct notifier_block *this, unsigned long event, 5622static int cnic_netdev_event(struct notifier_block *this, unsigned long event,
5623 void *ptr) 5623 void *ptr)
5624{ 5624{
5625 struct net_device *netdev = ptr; 5625 struct net_device *netdev = netdev_notifier_info_to_dev(ptr);
5626 struct cnic_dev *dev; 5626 struct cnic_dev *dev;
5627 int new_dev = 0; 5627 int new_dev = 0;
5628 5628
diff --git a/drivers/net/ethernet/marvell/skge.c b/drivers/net/ethernet/marvell/skge.c
index 171f4b3dda07..c896079728e1 100644
--- a/drivers/net/ethernet/marvell/skge.c
+++ b/drivers/net/ethernet/marvell/skge.c
@@ -3706,7 +3706,7 @@ static const struct file_operations skge_debug_fops = {
3706static int skge_device_event(struct notifier_block *unused, 3706static int skge_device_event(struct notifier_block *unused,
3707 unsigned long event, void *ptr) 3707 unsigned long event, void *ptr)
3708{ 3708{
3709 struct net_device *dev = ptr; 3709 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
3710 struct skge_port *skge; 3710 struct skge_port *skge;
3711 struct dentry *d; 3711 struct dentry *d;
3712 3712
diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
index d175bbd3ffd3..e09a8c6f8536 100644
--- a/drivers/net/ethernet/marvell/sky2.c
+++ b/drivers/net/ethernet/marvell/sky2.c
@@ -4642,7 +4642,7 @@ static const struct file_operations sky2_debug_fops = {
4642static int sky2_device_event(struct notifier_block *unused, 4642static int sky2_device_event(struct notifier_block *unused,
4643 unsigned long event, void *ptr) 4643 unsigned long event, void *ptr)
4644{ 4644{
4645 struct net_device *dev = ptr; 4645 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
4646 struct sky2_port *sky2 = netdev_priv(dev); 4646 struct sky2_port *sky2 = netdev_priv(dev);
4647 4647
4648 if (dev->netdev_ops->ndo_open != sky2_open || !sky2_debug) 4648 if (dev->netdev_ops->ndo_open != sky2_open || !sky2_debug)
diff --git a/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c b/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
index af951f343ff6..51e13d92761e 100644
--- a/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
+++ b/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
@@ -3311,7 +3311,7 @@ static int netxen_netdev_event(struct notifier_block *this,
3311 unsigned long event, void *ptr) 3311 unsigned long event, void *ptr)
3312{ 3312{
3313 struct netxen_adapter *adapter; 3313 struct netxen_adapter *adapter;
3314 struct net_device *dev = (struct net_device *)ptr; 3314 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
3315 struct net_device *orig_dev = dev; 3315 struct net_device *orig_dev = dev;
3316 struct net_device *slave; 3316 struct net_device *slave;
3317 3317
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
index da82f2eb73b4..6bb56d43614b 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
@@ -3530,7 +3530,7 @@ static int qlcnic_netdev_event(struct notifier_block *this,
3530 unsigned long event, void *ptr) 3530 unsigned long event, void *ptr)
3531{ 3531{
3532 struct qlcnic_adapter *adapter; 3532 struct qlcnic_adapter *adapter;
3533 struct net_device *dev = (struct net_device *)ptr; 3533 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
3534 3534
3535recheck: 3535recheck:
3536 if (dev == NULL) 3536 if (dev == NULL)
diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c
index 39e4cb39de29..46cc11d5e205 100644
--- a/drivers/net/ethernet/sfc/efx.c
+++ b/drivers/net/ethernet/sfc/efx.c
@@ -2120,7 +2120,7 @@ static void efx_update_name(struct efx_nic *efx)
2120static int efx_netdev_event(struct notifier_block *this, 2120static int efx_netdev_event(struct notifier_block *this,
2121 unsigned long event, void *ptr) 2121 unsigned long event, void *ptr)
2122{ 2122{
2123 struct net_device *net_dev = ptr; 2123 struct net_device *net_dev = netdev_notifier_info_to_dev(ptr);
2124 2124
2125 if (net_dev->netdev_ops == &efx_netdev_ops && 2125 if (net_dev->netdev_ops == &efx_netdev_ops &&
2126 event == NETDEV_CHANGENAME) 2126 event == NETDEV_CHANGENAME)
diff --git a/drivers/net/hamradio/bpqether.c b/drivers/net/hamradio/bpqether.c
index 02de6c891670..f91bf0ddf031 100644
--- a/drivers/net/hamradio/bpqether.c
+++ b/drivers/net/hamradio/bpqether.c
@@ -103,7 +103,7 @@ static struct packet_type bpq_packet_type __read_mostly = {
103}; 103};
104 104
105static struct notifier_block bpq_dev_notifier = { 105static struct notifier_block bpq_dev_notifier = {
106 .notifier_call =bpq_device_event, 106 .notifier_call = bpq_device_event,
107}; 107};
108 108
109 109
@@ -544,9 +544,10 @@ static void bpq_free_device(struct net_device *ndev)
544/* 544/*
545 * Handle device status changes. 545 * Handle device status changes.
546 */ 546 */
547static int bpq_device_event(struct notifier_block *this,unsigned long event, void *ptr) 547static int bpq_device_event(struct notifier_block *this,
548 unsigned long event, void *ptr)
548{ 549{
549 struct net_device *dev = (struct net_device *)ptr; 550 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
550 551
551 if (!net_eq(dev_net(dev), &init_net)) 552 if (!net_eq(dev_net(dev), &init_net))
552 return NOTIFY_DONE; 553 return NOTIFY_DONE;
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index 1c502bb0c916..edfddc5f61b4 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
@@ -921,7 +921,7 @@ static struct rtnl_link_ops macvlan_link_ops = {
921static int macvlan_device_event(struct notifier_block *unused, 921static int macvlan_device_event(struct notifier_block *unused,
922 unsigned long event, void *ptr) 922 unsigned long event, void *ptr)
923{ 923{
924 struct net_device *dev = ptr; 924 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
925 struct macvlan_dev *vlan, *next; 925 struct macvlan_dev *vlan, *next;
926 struct macvlan_port *port; 926 struct macvlan_port *port;
927 LIST_HEAD(list_kill); 927 LIST_HEAD(list_kill);
diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
index 59e9605de316..68efb91a5633 100644
--- a/drivers/net/macvtap.c
+++ b/drivers/net/macvtap.c
@@ -1053,7 +1053,7 @@ EXPORT_SYMBOL_GPL(macvtap_get_socket);
1053static int macvtap_device_event(struct notifier_block *unused, 1053static int macvtap_device_event(struct notifier_block *unused,
1054 unsigned long event, void *ptr) 1054 unsigned long event, void *ptr)
1055{ 1055{
1056 struct net_device *dev = ptr; 1056 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
1057 struct macvlan_dev *vlan; 1057 struct macvlan_dev *vlan;
1058 struct device *classdev; 1058 struct device *classdev;
1059 dev_t devt; 1059 dev_t devt;
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index 59ac143dec25..1d1d0a12765c 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -653,12 +653,11 @@ static struct configfs_subsystem netconsole_subsys = {
653 653
654/* Handle network interface device notifications */ 654/* Handle network interface device notifications */
655static int netconsole_netdev_event(struct notifier_block *this, 655static int netconsole_netdev_event(struct notifier_block *this,
656 unsigned long event, 656 unsigned long event, void *ptr)
657 void *ptr)
658{ 657{
659 unsigned long flags; 658 unsigned long flags;
660 struct netconsole_target *nt; 659 struct netconsole_target *nt;
661 struct net_device *dev = ptr; 660 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
662 bool stopped = false; 661 bool stopped = false;
663 662
664 if (!(event == NETDEV_CHANGENAME || event == NETDEV_UNREGISTER || 663 if (!(event == NETDEV_CHANGENAME || event == NETDEV_UNREGISTER ||
diff --git a/drivers/net/ppp/pppoe.c b/drivers/net/ppp/pppoe.c
index bb07ba94c3aa..5f66e30d9823 100644
--- a/drivers/net/ppp/pppoe.c
+++ b/drivers/net/ppp/pppoe.c
@@ -338,7 +338,7 @@ static void pppoe_flush_dev(struct net_device *dev)
338static int pppoe_device_event(struct notifier_block *this, 338static int pppoe_device_event(struct notifier_block *this,
339 unsigned long event, void *ptr) 339 unsigned long event, void *ptr)
340{ 340{
341 struct net_device *dev = (struct net_device *)ptr; 341 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
342 342
343 /* Only look at sockets that are using this specific device. */ 343 /* Only look at sockets that are using this specific device. */
344 switch (event) { 344 switch (event) {
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
index 7c43261975bd..9273f48a512b 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -2647,7 +2647,7 @@ static void team_port_change_check(struct team_port *port, bool linkup)
2647static int team_device_event(struct notifier_block *unused, 2647static int team_device_event(struct notifier_block *unused,
2648 unsigned long event, void *ptr) 2648 unsigned long event, void *ptr)
2649{ 2649{
2650 struct net_device *dev = (struct net_device *) ptr; 2650 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
2651 struct team_port *port; 2651 struct team_port *port;
2652 2652
2653 port = team_port_get_rtnl(dev); 2653 port = team_port_get_rtnl(dev);
diff --git a/drivers/net/wan/dlci.c b/drivers/net/wan/dlci.c
index 147614ed86aa..70ac59929f80 100644
--- a/drivers/net/wan/dlci.c
+++ b/drivers/net/wan/dlci.c
@@ -477,7 +477,7 @@ static void dlci_setup(struct net_device *dev)
477static int dlci_dev_event(struct notifier_block *unused, 477static int dlci_dev_event(struct notifier_block *unused,
478 unsigned long event, void *ptr) 478 unsigned long event, void *ptr)
479{ 479{
480 struct net_device *dev = (struct net_device *) ptr; 480 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
481 481
482 if (dev_net(dev) != &init_net) 482 if (dev_net(dev) != &init_net)
483 return NOTIFY_DONE; 483 return NOTIFY_DONE;
diff --git a/drivers/net/wan/hdlc.c b/drivers/net/wan/hdlc.c
index a0a932c63d0a..9c33ca918e19 100644
--- a/drivers/net/wan/hdlc.c
+++ b/drivers/net/wan/hdlc.c
@@ -99,7 +99,7 @@ static inline void hdlc_proto_stop(struct net_device *dev)
99static int hdlc_device_event(struct notifier_block *this, unsigned long event, 99static int hdlc_device_event(struct notifier_block *this, unsigned long event,
100 void *ptr) 100 void *ptr)
101{ 101{
102 struct net_device *dev = ptr; 102 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
103 hdlc_device *hdlc; 103 hdlc_device *hdlc;
104 unsigned long flags; 104 unsigned long flags;
105 int on; 105 int on;
diff --git a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c
index a73b49eb87e3..a33a46fa88dd 100644
--- a/drivers/net/wan/lapbether.c
+++ b/drivers/net/wan/lapbether.c
@@ -370,7 +370,7 @@ static int lapbeth_device_event(struct notifier_block *this,
370 unsigned long event, void *ptr) 370 unsigned long event, void *ptr)
371{ 371{
372 struct lapbethdev *lapbeth; 372 struct lapbethdev *lapbeth;
373 struct net_device *dev = ptr; 373 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
374 374
375 if (dev_net(dev) != &init_net) 375 if (dev_net(dev) != &init_net)
376 return NOTIFY_DONE; 376 return NOTIFY_DONE;
diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
index 292b24f9bf93..ee721b6cbcdf 100644
--- a/drivers/scsi/fcoe/fcoe.c
+++ b/drivers/scsi/fcoe/fcoe.c
@@ -1975,7 +1975,7 @@ static int fcoe_device_notification(struct notifier_block *notifier,
1975{ 1975{
1976 struct fcoe_ctlr_device *cdev; 1976 struct fcoe_ctlr_device *cdev;
1977 struct fc_lport *lport = NULL; 1977 struct fc_lport *lport = NULL;
1978 struct net_device *netdev = ptr; 1978 struct net_device *netdev = netdev_notifier_info_to_dev(ptr);
1979 struct fcoe_ctlr *ctlr; 1979 struct fcoe_ctlr *ctlr;
1980 struct fcoe_interface *fcoe; 1980 struct fcoe_interface *fcoe;
1981 struct fcoe_port *port; 1981 struct fcoe_port *port;
diff --git a/drivers/scsi/fcoe/fcoe_transport.c b/drivers/scsi/fcoe/fcoe_transport.c
index f3a5a53e8631..01adbe0ec53b 100644
--- a/drivers/scsi/fcoe/fcoe_transport.c
+++ b/drivers/scsi/fcoe/fcoe_transport.c
@@ -704,7 +704,7 @@ static struct net_device *fcoe_if_to_netdev(const char *buffer)
704static int libfcoe_device_notification(struct notifier_block *notifier, 704static int libfcoe_device_notification(struct notifier_block *notifier,
705 ulong event, void *ptr) 705 ulong event, void *ptr)
706{ 706{
707 struct net_device *netdev = ptr; 707 struct net_device *netdev = netdev_notifier_info_to_dev(ptr);
708 708
709 switch (event) { 709 switch (event) {
710 case NETDEV_UNREGISTER: 710 case NETDEV_UNREGISTER:
diff --git a/drivers/staging/csr/netdev.c b/drivers/staging/csr/netdev.c
index a0177d998978..d49cdf84a496 100644
--- a/drivers/staging/csr/netdev.c
+++ b/drivers/staging/csr/netdev.c
@@ -2891,7 +2891,7 @@ void uf_net_get_name(struct net_device *dev, char *name, int len)
2891 */ 2891 */
2892static int 2892static int
2893uf_netdev_event(struct notifier_block *notif, unsigned long event, void* ptr) { 2893uf_netdev_event(struct notifier_block *notif, unsigned long event, void* ptr) {
2894 struct net_device *netdev = ptr; 2894 struct net_device *netdev = netdev_notifier_info_to_dev(ptr);
2895 netInterface_priv_t *interfacePriv = (netInterface_priv_t *)netdev_priv(netdev); 2895 netInterface_priv_t *interfacePriv = (netInterface_priv_t *)netdev_priv(netdev);
2896 unifi_priv_t *priv = NULL; 2896 unifi_priv_t *priv = NULL;
2897 static const CsrWifiMacAddress broadcast_address = {{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}}; 2897 static const CsrWifiMacAddress broadcast_address = {{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}};
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c
index 94e426e4d98b..b2330f1df7e7 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c
@@ -164,7 +164,7 @@ static const struct file_operations ft1000_proc_fops = {
164static int ft1000NotifyProc(struct notifier_block *this, unsigned long event, 164static int ft1000NotifyProc(struct notifier_block *this, unsigned long event,
165 void *ptr) 165 void *ptr)
166{ 166{
167 struct net_device *dev = ptr; 167 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
168 struct ft1000_info *info; 168 struct ft1000_info *info;
169 169
170 info = netdev_priv(dev); 170 info = netdev_priv(dev);
diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_proc.c b/drivers/staging/ft1000/ft1000-usb/ft1000_proc.c
index eca6f0292b4b..5ead942be680 100644
--- a/drivers/staging/ft1000/ft1000-usb/ft1000_proc.c
+++ b/drivers/staging/ft1000/ft1000-usb/ft1000_proc.c
@@ -166,7 +166,7 @@ static const struct file_operations ft1000_proc_fops = {
166static int 166static int
167ft1000NotifyProc(struct notifier_block *this, unsigned long event, void *ptr) 167ft1000NotifyProc(struct notifier_block *this, unsigned long event, void *ptr)
168{ 168{
169 struct net_device *dev = ptr; 169 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
170 struct ft1000_info *info; 170 struct ft1000_info *info;
171 struct proc_dir_entry *ft1000_proc_file; 171 struct proc_dir_entry *ft1000_proc_file;
172 172
diff --git a/drivers/staging/silicom/bpctl_mod.c b/drivers/staging/silicom/bpctl_mod.c
index b7e570ccb759..c8ddb99e8526 100644
--- a/drivers/staging/silicom/bpctl_mod.c
+++ b/drivers/staging/silicom/bpctl_mod.c
@@ -133,7 +133,7 @@ static unsigned long str_to_hex(char *p);
133static int bp_device_event(struct notifier_block *unused, 133static int bp_device_event(struct notifier_block *unused,
134 unsigned long event, void *ptr) 134 unsigned long event, void *ptr)
135{ 135{
136 struct net_device *dev = ptr; 136 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
137 static bpctl_dev_t *pbpctl_dev = NULL, *pbpctl_dev_m = NULL; 137 static bpctl_dev_t *pbpctl_dev = NULL, *pbpctl_dev_m = NULL;
138 int dev_num = 0, ret = 0, ret_d = 0, time_left = 0; 138 int dev_num = 0, ret = 0, ret_d = 0, time_left = 0;
139 /* printk("BP_PROC_SUPPORT event =%d %s %d\n", event,dev->name, dev->ifindex ); */ 139 /* printk("BP_PROC_SUPPORT event =%d %s %d\n", event,dev->name, dev->ifindex ); */