* Re: [PATCH net-next 1/4] ipip: allow to deactivate the creation of fb dev
From: David Miller @ 2012-11-20 0:06 UTC (permalink / raw)
To: nicolas.dichtel; +Cc: netdev
In-Reply-To: <1353082456-21234-2-git-send-email-nicolas.dichtel@6wind.com>
From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Date: Fri, 16 Nov 2012 17:14:13 +0100
> Now that tunnels can be configured via rtnetlink, this device is not mandatory.
> The default is conservative.
>
> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
I'm not too thrilled about this change, mostly because of my dislike of
module parameters in general.
But in this case there appears to be real bugs in the two sets of changes
where you add this setup_fb thing.
> @@ -1057,7 +1066,8 @@ static void __net_exit ipip_exit_net(struct net *net)
>
> rtnl_lock();
> ipip_destroy_tunnels(ipn, &list);
> - unregister_netdevice_queue(ipn->fb_tunnel_dev, &list);
> + if (setup_fb)
> + unregister_netdevice_queue(ipn->fb_tunnel_dev, &list);
> unregister_netdevice_many(&list);
> rtnl_unlock();
> }
Users can modify module parameter values via sysfs after the module
is loaded, so you need a more internal and protected state to use
to decide whether you really need to unregister the thing or not.
But to me it's just symptomatic of what a bad idea this is in the
first place.
^ permalink raw reply
* Re: [net-next PATCH v2] net/ethernet: remove useless is_valid_ether_addr from drivers ndo_open
From: David Miller @ 2012-11-20 0:03 UTC (permalink / raw)
To: manabian
Cc: nicolas.ferre, shemminger, steve.glendinning, stigge, msink,
netdev
In-Reply-To: <1353077235-342-1-git-send-email-manabian@gmail.com>
From: Joachim Eastwood <manabian@gmail.com>
Date: Fri, 16 Nov 2012 15:47:15 +0100
> If ndo_validate_addr is set to the generic eth_validate_addr
> function there is no point in calling is_valid_ether_addr
> from driver ndo_open if ndo_open is not used elsewhere in
> the driver.
>
> With this change is_valid_ether_addr will be called from the
> generic eth_validate_addr function. So there should be no change
> in the actual behavior.
>
> Signed-off-by: Joachim Eastwood <manabian@gmail.com>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH v4 2/9] net: rds: use this_cpu_* per-cpu helper
From: David Miller @ 2012-11-20 0:00 UTC (permalink / raw)
To: shanwei88
Cc: venkat.x.venkatsubra, rds-devel, netdev, linux-kernel, cl, htejun
In-Reply-To: <50A5FB89.4000400@gmail.com>
From: Shan Wei <shanwei88@gmail.com>
Date: Fri, 16 Nov 2012 16:38:33 +0800
> Shan Wei said, at 2012/11/13 9:52:
>> From: Shan Wei <davidshan@tencent.com>
>>
>>
>> Signed-off-by: Shan Wei <davidshan@tencent.com>
>> Reviewed-by: Christoph Lameter <cl@linux.com>
>
> David Miller, would you like to pick it up to your net-next tree?
Applied.
^ permalink raw reply
* Re: [PATCH v4 1/9] net: core: use this_cpu_ptr per-cpu helper
From: David Miller @ 2012-11-20 0:00 UTC (permalink / raw)
To: shanwei88; +Cc: timo.teras, steffen.klassert, netdev, linux-kernel, cl, htejun
In-Reply-To: <50A5FB69.8000907@gmail.com>
From: Shan Wei <shanwei88@gmail.com>
Date: Fri, 16 Nov 2012 16:38:01 +0800
> Shan Wei said, at 2012/11/13 9:51:
>> From: Shan Wei <davidshan@tencent.com>
>>
>> flush_tasklet is a struct, not a pointer in percpu var.
>> so use this_cpu_ptr to get the member pointer.
>>
>> Signed-off-by: Shan Wei <davidshan@tencent.com>
>> Reviewed-by: Christoph Lameter <cl@linux.com>
>
> David Miller, would you like to pick it up to your net-next tree?
Applied.
^ permalink raw reply
* Re: [PATCH v2 3.7.0-rc4] of/net/mdio-gpio: Fix pdev->id issue when using devicetrees.
From: David Miller @ 2012-11-19 23:58 UTC (permalink / raw)
To: srinivas.kandagatla; +Cc: netdev, devicetree-discuss
In-Reply-To: <1353062039-31336-1-git-send-email-srinivas.kandagatla@st.com>
From: Srinivas KANDAGATLA <srinivas.kandagatla@st.com>
Date: Fri, 16 Nov 2012 10:33:59 +0000
> From: Srinivas Kandagatla <srinivas.kandagatla@st.com>
>
> When the mdio-gpio driver is probed via device trees, the platform
> device id is set as -1, However the pdev->id is re-used as bus-id for
> while creating mdio gpio bus.
> So
> For device tree case the mdio-gpio bus name appears as "gpio-ffffffff"
> where as
> for non-device tree case the bus name appears as "gpio-<bus-num>"
>
> Which means the bus_id is fixed in device tree case, so we can't have
> two mdio gpio buses via device trees. Assigning a logical bus number
> via device tree solves the problem and the bus name is much consistent
> with non-device tree bus name.
>
> Without this patch
> 1. we can't support two mdio-gpio buses via device trees.
> 2. we should always pass gpio-ffffffff as bus name to phy_connect, very
> different to non-device tree bus name.
>
> So, setting up the bus_id via aliases from device tree is the right
> solution and other drivers do similar thing.
>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>
Applied, thank you.
^ permalink raw reply
* Re: [PATCHv2 net-next] add DOVE extensions for VXLAN
From: David Miller @ 2012-11-19 23:55 UTC (permalink / raw)
To: dlstevens; +Cc: shemminger, netdev
In-Reply-To: <201211151347.qAFDkR8G023134@lab1.dls>
From: David L Stevens <dlstevens@us.ibm.com>
Date: Thu, 15 Nov 2012 08:46:27 -0500
> @@ -111,6 +113,10 @@ struct vxlan_dev {
> __u8 tos; /* TOS override */
> __u8 ttl;
> bool learn;
> + bool proxy; /* ARP reduction */
> + bool rsc; /* route short-circuit */
> + bool l2miss; /* L2 miss notifications */
> + bool l3miss; /* L3 miss notifications */
>
> unsigned long age_interval;
> struct timer_list age_timer;
Perhaps we've accumulated enough boolean states that a "u32 flags" are
in order?
> + for (i=0; i<ETH_ALEN; ++i)
> + send_eth |= !!fdb->eth_addr[i];
Please use is_zero_ether_addr().
Otherwise these changes look fine to me, thanks.
^ permalink raw reply
* Re: [PATCH] bonding: rlb mode of bond should not alter ARP originating via bridge
From: David Miller @ 2012-11-19 23:49 UTC (permalink / raw)
To: zheng.x.li; +Cc: netdev, fubar, andy, linux-kernel, joe.jin
In-Reply-To: <1352972861-17577-1-git-send-email-zheng.x.li@oracle.com>
From: Zheng Li <zheng.x.li@oracle.com>
Date: Thu, 15 Nov 2012 17:47:41 +0800
> ARP traffic passing through a bridge and out via the bond (when the bond is a
> port of the bridge) should not have its source MAC address adjusted by the
> receive load balance code in rlb_arp_xmit.
>
> Signed-off-by: Zheng Li <zheng.x.li@oracle.com>
Can I please get a review from some bonding experts on this one?
Thanks!
^ permalink raw reply
* Re: [PATCH] pkt_sched: QFQ Plus: fair-queueing service at DRR cost
From: David Miller @ 2012-11-19 23:48 UTC (permalink / raw)
To: paolo.valente; +Cc: jhs, shemminger, linux-kernel, netdev, rizzo, fchecconi
In-Reply-To: <20121112164833.GA12970@paolo-ThinkPad-W520>
From: Paolo Valente <paolo.valente@unimore.it>
Date: Mon, 12 Nov 2012 17:48:33 +0100
> [This patch received positive feedback from Stephen Hemminger ("put in
> net-next"), but no further feedback or decision. So I am (re)sending
> an updated version of it. The only differences with respect to the
> previous version are the support for TSO/GSO (taken from QFQ), and a
> hopefully improved description.]
Can you rearrange the logic so that the compiler doesn't emit this
warning?
In file included from net/sched/sch_qfq.c:18:0:
net/sched/sch_qfq.c: In function ‘qfq_dequeue’:
include/net/sch_generic.h:480:15: warning: ‘skb’ may be used uninitialized in this function [-Wmaybe-uninitialized]
net/sched/sch_qfq.c:1007:18: note: ‘skb’ was declared here
You and I both know that SKB will be initialized at this point, but
the compiler can't see it clearly enough.
Thanks.
^ permalink raw reply
* Re: [PATCH] vxlan: Fix error that was resulting in VXLAN MTU size being 10 bytes too large
From: Joseph Glanville @ 2012-11-19 23:37 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: David Miller, alexander.h.duyck, netdev
In-Reply-To: <20121119080351.477525b3@nehalam.linuxnetplumber.net>
On 20 November 2012 03:03, Stephen Hemminger <shemminger@vyatta.com> wrote:
> On Mon, 19 Nov 2012 22:33:50 +1100
> Joseph Glanville <joseph.glanville@orionvm.com.au> wrote:
>
>> On 14 November 2012 08:33, Stephen Hemminger <shemminger@vyatta.com> wrote:
>> > On Tue, 13 Nov 2012 14:37:19 -0500 (EST)
>> > David Miller <davem@davemloft.net> wrote:
>> >
>> >> From: Alexander Duyck <alexander.h.duyck@intel.com>
>> >> Date: Fri, 09 Nov 2012 15:35:24 -0800
>> >>
>> >> > This change fixes an issue I found where VXLAN frames were fragmented when
>> >> > they were up to the VXLAN MTU size. I root caused the issue to the fact that
>> >> > the headroom was 4 + 20 + 8 + 8. This math doesn't appear to be correct
>> >> > because we are not inserting a VLAN header, but instead a 2nd Ethernet header.
>> >> > As such the math for the overhead should be 20 + 8 + 8 + 14 to account for the
>> >> > extra headers that are inserted for VXLAN.
>> >> >
>> >> > Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
>> >>
>> >> Applied, thanks for the detailed commit message.
>> >
>> > Probably need smarter code there to look at header length requirement
>> > of underlying device as well, maybe someone will be perverse and runn
>> > vxlan over a tunnel or IPoIB.
>>
>> Forgive my ignorance but why would running VXLAN on IPoIB require
>> special header handling? (and would it work or behave strangely?)
>>
>> I was planning on giving this a go when 3.7 is released but I might do
>> that sooner if problems are anticipated.
>>
>> > --
>> > To unsubscribe from this list: send the line "unsubscribe netdev" in
>> > the body of a message to majordomo@vger.kernel.org
>> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>> Joseph.
>>
>
> Some lower layers require bigger (or smaller headers). As it was, vxlan
> was only allocating skb with a fixed amount of headroom. This would lead to
> lower layers having to copy the skb.
>
> My suggestion has already been addressed by a later patch.
Thankyou for the clarification, I found the patch about the lower_dev
hard_header_len!
--
CTO | Orion Virtualisation Solutions | www.orionvm.com.au
Phone: 1300 56 99 52 | Mobile: 0428 754 846
^ permalink raw reply
* Re: [PATCH] net, batman: don't crash on zero length strings in routing_algo
From: Antonio Quartulli @ 2012-11-19 22:07 UTC (permalink / raw)
To: Sasha Levin; +Cc: lindner_marek, siwu, davem, b.a.t.m.a.n, netdev, linux-kernel
In-Reply-To: <1353355695-23252-1-git-send-email-sasha.levin@oracle.com>
[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]
On Mon, Nov 19, 2012 at 03:08:15PM -0500, Sasha Levin wrote:
> The code that works with routing_algo assumes that the string passed is non
> empty, this assumption is wrong:
>
> sh-4.2# echo -ne '\0' > /sys/module/batman_adv/parameters/routing_algo
> [ 34.531340] BUG: unable to handle kernel paging request at ffff880015142fff
[CUT]
> [ 34.550025] ---[ end trace 6c53b662c574774b ]---
>
> Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Hello Sasha,
thank you very much for fixing this bug!
However, any patch sent against the B.A.T.M.A.N.-Advanced code should have a
subject starting with "batman-adv:".
Other than that I think this kind of patch
doesn't really need to report the entire kernel message: a more exhaustive
commit message is enough (e.g. use function names). I personally needed to read
the patch before understanding what you were trying to explain in the message.
Then, we usually pick this patches up in our repo and then we send them as batch
to the networking tree via pull request, therefore you can also skip the netdev
ml when sending the fixes.
Thank you very much!
Regards,
--
Antonio Quartulli
..each of us alone is worth nothing..
Ernesto "Che" Guevara
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply
* Re: unable to handle paging request, arm, at aio/tcp code, only 3.6
From: Eric Dumazet @ 2012-11-19 21:36 UTC (permalink / raw)
To: Lluís Batlle i Rossell; +Cc: netdev
In-Reply-To: <20121119211020.GL2068@vicerveza.homeunix.net>
On Mon, 2012-11-19 at 22:10 +0100, Lluís Batlle i Rossell wrote:
> If it can help, I keep the vmlinux kernel with debug info.
Well, it would be better if you could try the patch ;)
Anyway bug seems pretty obvious to me.
Thanks
^ permalink raw reply
* Re: unable to handle paging request, arm, at aio/tcp code, only 3.6
From: Eric Dumazet @ 2012-11-19 21:34 UTC (permalink / raw)
To: Lluís Batlle i Rossell, David Miller; +Cc: netdev
In-Reply-To: <1353354095.10798.76.camel@edumazet-glaptop>
From: Eric Dumazet <edumazet@google.com>
> Thanks for the report.
>
> I believe this is a regression of commit
> 35ad9b9cf7d8a2e6259a0d24022e910adb6f3489
> (ipv6: Add helper inet6_csk_update_pmtu().)
>
> I'll prepare a patch to fix this.
Please try the following fix.
Thanks !
[PATCH] ipv6: fix inet6_csk_update_pmtu() return value
In case of error, inet6_csk_update_pmtu() should consistently
return NULL.
Bug added in commit 35ad9b9cf7d8a
(ipv6: Add helper inet6_csk_update_pmtu().)
Reported-by: Lluís Batlle i Rossell <viric@viric.name>
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
net/ipv6/inet6_connection_sock.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/ipv6/inet6_connection_sock.c b/net/ipv6/inet6_connection_sock.c
index c4f9341..3064785 100644
--- a/net/ipv6/inet6_connection_sock.c
+++ b/net/ipv6/inet6_connection_sock.c
@@ -252,6 +252,7 @@ struct dst_entry *inet6_csk_update_pmtu(struct sock *sk, u32 mtu)
return NULL;
dst->ops->update_pmtu(dst, sk, NULL, mtu);
- return inet6_csk_route_socket(sk, &fl6);
+ dst = inet6_csk_route_socket(sk, &fl6);
+ return IS_ERR(dst) ? NULL : dst;
}
EXPORT_SYMBOL_GPL(inet6_csk_update_pmtu);
^ permalink raw reply related
* Re: [PATCH 080/493] fddi: remove use of __devexit_p
From: Bill Pemberton @ 2012-11-19 21:30 UTC (permalink / raw)
To: Jan Engelhardt; +Cc: Greg KH, Maciej W. Rozycki, netdev
In-Reply-To: <alpine.LNX.2.01.1211192222160.12904@nerf07.vanv.qr>
Jan Engelhardt writes:
>
> On Monday 2012-11-19 20:29, Greg KH wrote:
> >
> >CONFIG_HOTPLUG is always enabled now, so that's not an option anymore.
> >And again, a user can "hot unbind" a driver from a device from
> >userspace, no matter if the bus physically supports it or not.
>
> Which mailing list was this originally posted on? (I only have
> subscribed to netdev, and google has not indexed 000/493--001/493 yet.)
>
The announcement for this patchset was sent to lkml on Friday. I
originally didn't have the patches themselves Cc'd to the various
subsystems, so no one other than Greg got the patches themselves on
Friday. I resent them with Cc's today.
--
Bill
^ permalink raw reply
* Re: [PATCH 080/493] fddi: remove use of __devexit_p
From: Jan Engelhardt @ 2012-11-19 21:22 UTC (permalink / raw)
To: Greg KH; +Cc: Maciej W. Rozycki, Bill Pemberton, netdev
In-Reply-To: <20121119192949.GA16976@kroah.com>
On Monday 2012-11-19 20:29, Greg KH wrote:
>
>CONFIG_HOTPLUG is always enabled now, so that's not an option anymore.
>And again, a user can "hot unbind" a driver from a device from
>userspace, no matter if the bus physically supports it or not.
Which mailing list was this originally posted on? (I only have
subscribed to netdev, and google has not indexed 000/493--001/493 yet.)
^ permalink raw reply
* Re: unable to handle paging request, arm, at aio/tcp code, only 3.6
From: Lluís Batlle i Rossell @ 2012-11-19 21:10 UTC (permalink / raw)
To: Eric Dumazet; +Cc: netdev
In-Reply-To: <1353354095.10798.76.camel@edumazet-glaptop>
On Mon, Nov 19, 2012 at 11:41:35AM -0800, Eric Dumazet wrote:
> On Mon, 2012-11-19 at 19:32 +0100, Lluís Batlle i Rossell wrote:
> > (crosspost from lkml)
> > Hello,
> >
> > in a Sheevaplug (armv5tel), if I run the kernels 3.6.3 or 3.6.6, they crash in
> > less than 48h. Kernel 3.5.3 runs perfect, as most previous kernels I've been
> > running until 2.6.36.
> >
> > Can anyone suggest what change can be the cause of that?
> > Or how could I debug this to fix it?
> >
> > Here is the panic:
> > unable to handle kernel paging request at virtual address ffffffab
> > pgd = d864c000
> > [ffffffab] *pgd=1fffe831, *pte=00000000, *ppte=00000000
> > Internal error: Oops: 1 [#1] PREEMPT ARM
> > Modules linked in: netconsole cbc sg cryptodev(O) fuse ipv6 ums_cypress dm_mod btrfs ext4 jb
> > d2 reiserfs [last unloaded: netconsole]
> > CPU: 0 Tainted: G O (3.6.6 #1)
> > PC is at tcp_v6_mtu_reduced+0x40/0x80 [ipv6]
> > LR is at ip6_dst_lookup_tail+0xd8/0xfc [ipv6]
> > pc : [<bf2b02f8>] lr : [<bf28a67c>] psr: a0000013
> > ...
> Thanks for the report.
>
> I believe this is a regression of commit
> 35ad9b9cf7d8a2e6259a0d24022e910adb6f3489
> (ipv6: Add helper inet6_csk_update_pmtu().)
>
> I'll prepare a patch to fix this.
If it can help, I keep the vmlinux kernel with debug info.
Regards,
Lluís.
^ permalink raw reply
* Re: [PATCH 04/10] batman-adv: export compatibility version via debugfs
From: Antonio Quartulli @ 2012-11-19 21:09 UTC (permalink / raw)
To: David Miller
Cc: bhutchings-s/n/eUQHGBpZroRs9YW3xA, netdev-u79uwXL29TY76Z2rM5mHXA,
b.a.t.m.a.n-ZwoEplunGu2X36UT3dwllkB+6BGkLq7r,
lindner_marek-LWAfsSFWpa4
In-Reply-To: <20121119.144745.1093556126398582629.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 2378 bytes --]
On Mon, Nov 19, 2012 at 02:47:45PM -0500, David Miller wrote:
> From: Sven Eckelmann <sven-KaDOiPu9UxWEi8DpZVb4nw@public.gmane.org>
> Date: Mon, 19 Nov 2012 20:29:07 +0100
>
> > On Monday 19 November 2012 18:52:30 Ben Hutchings wrote:
> >> On Mon, 2012-11-19 at 09:24 +0100, Antonio Quartulli wrote:
> >> > Different versions of the batman-adv module may use the same compatibility
> >> > version, but this is not understandable at runtime (the only way is to
> >> > parse the kernel log and fetch the batman-adv advertisement message on
> >> > loading). The user may want to know whether two nodes using different
> >> > versions can communicate or not. For this purpose the module has to
> >> > export this value through debugfs.
> >> [...]
> >>
> >> I do hope that you're not planning to use unstable debugfs interfaces
> >> indefinitely.
> >
> > Why are you refering to the adding of an file as "incompatible" debugfs
> > interface? I would call it additional information. And the rest of the commit
> > message is talking about *possible* protocol incompatibilies of the network
> > protocol (which caused this uncontrolled erruption of anger in a network
> > maintainer).
>
> Debugfs files aren't where you store information that userspace actually
> uses in normal situations.
>
> It's for developer debug, to expose internals that otherwise have no
> business being part of the user visible interfaces.
Ok, you are right. As you already stated, I do see two problems here:
1) debugfs not used properly (this information is not really for "devs")
2) this compatibility version export is like the claim: "compatibility is broken
everyday". But actually this is not what we really wanted.
This patch simply came from a feature request raised by a user of ours. As Sven
pointed out, we have seen it just as "more information available for network
debugging" and we (in particular me) didn't think about the fact that having
such a patch was against the "stabilisation" process that we are following (we
discussed about this process during the last pull request, so you already know
that we are already going towards this direction).
David, Ben, if you agree I would remove this patch and repost the pull request.
Regards,
--
Antonio Quartulli
..each of us alone is worth nothing..
Ernesto "Che" Guevara
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply
* Re: [PATCH 196/493] net/wireless: remove use of __devinit
From: Arend van Spriel @ 2012-11-19 20:57 UTC (permalink / raw)
To: Bill Pemberton
Cc: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, John W. Linville,
Jiri Slaby, Nick Kossifidis, Luis R. Rodriguez, Simon Kelley,
Stefano Brivio, Stanislav Yakovlev, Dan Williams,
Christian Lamparter, Herton Ronaldo Krzesinski, Hin-Tak Leung,
Larry Finger, Chaoming Li, Luciano Coelho,
linux-wireless-u79uwXL29TY76Z2rM5mHXA,
netdev-u79uwXL29TY76Z2rM5mHXA, ath5k-devel-xDcbHBWguxEUs3QNXV6qNA,
b43-dev-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
brcm80211-dev-list-dY08KVG/lbpWk0Htik3J/w,
libertas-dev-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
In-Reply-To: <1353349642-3677-196-git-send-email-wfp5p-4Ng6DfrEGID2fBVCVOL8/A@public.gmane.org>
On 11/19/2012 07:22 PM, Bill Pemberton wrote:
> CONFIG_HOTPLUG is going away as an option so __devinit is no longer
> needed.
Acked-by: Arend van Spriel <arend-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
> Signed-off-by: Bill Pemberton <wfp5p-4Ng6DfrEGID2fBVCVOL8/A@public.gmane.org>
> Cc: brcm80211-dev-list-dY08KVG/lbpWk0Htik3J/w@public.gmane.org
> ---
> drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c | 2 +-
For brcm80211 driver change.
Gr. AvS
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH 085/493] net/wireless: remove use of __devexit_p
From: Arend van Spriel @ 2012-11-19 20:56 UTC (permalink / raw)
To: Bill Pemberton
Cc: gregkh, John W. Linville, Jiri Slaby, Nick Kossifidis,
Luis R. Rodriguez, Simon Kelley, Stefano Brivio,
Stanislav Yakovlev, Dan Williams, Christian Lamparter,
Ivo van Doorn, Gertjan van Wingerde, Helmut Schaa,
Herton Ronaldo Krzesinski, Hin-Tak Leung, Larry Finger,
Luciano Coelho, linux-wireless, netdev, ath5k-devel, b43-dev,
brcm80211-dev-list, libertas-
In-Reply-To: <1353349642-3677-85-git-send-email-wfp5p@virginia.edu>
On 11/19/2012 07:20 PM, Bill Pemberton wrote:
> CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
> needed.
Acked-by: Arend van Spriel <arend@broadcom.com>
> Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
> Cc: brcm80211-dev-list@broadcom.com
>
> drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c | 2 +-
For this part of the patch obviously.
Gr. AvS
^ permalink raw reply
* Re: [PATCH 200/493] irda: remove use of __devinit
From: Stephen Hemminger @ 2012-11-19 20:25 UTC (permalink / raw)
To: Greg KH; +Cc: David Miller, wfp5p, samuel, netdev
In-Reply-To: <20121119192121.GA16694@kroah.com>
On Mon, 19 Nov 2012 11:21:21 -0800
Greg KH <gregkh@linuxfoundation.org> wrote:
> On Mon, Nov 19, 2012 at 02:06:54PM -0500, David Miller wrote:
> >
> > It is absolutely not reasonable to post nearly 500 patches all
> > at the same time.
> >
> > Do not do this ever again.
>
> Bill did this with the assumption that I would take them through my
> driver-core tree, as I asked that he do this work. The 000 message said
> that, but that wasn't sent out to all of the recipients, so I can
> understand how you didn't see this.
>
> Also, I was the only one that got all 500 emails, everyone else should
> have only seen a small quantity.
>
> As you object to these, that's fine, I'll not apply anything to my
> treethat touches the drivers/net/ or net/ tree at this point in time, is
> that ok?
>
> But the end goal is to drop CONFIG_HOTPLUG entirely, and these __dev*
> markings, as they don't do anything anymore.
>
> thanks,
>
> greg k-h
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
This seems like a case where a pull-request should have been used,
rather spamming everyone and every mailing list.
^ permalink raw reply
* Re: Re: [B.A.T.M.A.N.] [PATCH 04/10] batman-adv: export compatibility version via debugfs
From: Sven Eckelmann @ 2012-11-19 20:25 UTC (permalink / raw)
To: Ben Hutchings
Cc: b.a.t.m.a.n, Antonio Quartulli, netdev, Marek Lindner, davem
In-Reply-To: <1353354018.4156.13.camel@bwh-desktop.uk.solarflarecom.com>
[-- Attachment #1: Type: text/plain, Size: 1197 bytes --]
On Monday 19 November 2012 19:40:18 Ben Hutchings wrote:
[...]
> > > I do hope that you're not planning to use unstable debugfs interfaces
> > > indefinitely.
> >
> > Why are you refering to the adding of an file as "incompatible" debugfs
> > interface? I would call it additional information. And the rest of the
> > commit message is talking about *possible* protocol incompatibilies of
> > the network protocol (which caused this uncontrolled erruption of anger
> > in a network maintainer).
>
> I didn't say that. But debugfs tends to be exempted from expectations
> of interface stability or cleanliness (as it's for development, not
> production... right?). It's also an optional feature that might not be
> enabled at compile time or run-time. If BATMAN is ever going to be
> ready for general use it will need stable interfaces that are updated in
> a backward-compatible way and don't depend on debugfs.
Ok, I thought this file was meant for an optional developer information (the
interface to work with batman-adv is in /sys) and concluded too fast that you
are questioning this change because it makes something "unstable" (sry, for
using the wrong term before).
Thanks,
Sven
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: [PATCH V5 7/7] arm/dts: am33xx: Add CPSW and MDIO module nodes for AM33XX
From: Peter Korsgaard @ 2012-11-19 20:24 UTC (permalink / raw)
To: Mugunthan V N
Cc: netdev, davem, devicetree-discuss, linux-arm-kernel, linux-omap,
b-cousson, paul, Vaibhav Hiremath
In-Reply-To: <1352920080-6179-8-git-send-email-mugunthanvnm@ti.com>
>>>>> "M" == Mugunthan V N <mugunthanvnm@ti.com> writes:
M> Add CPSW and MDIO related device tree data for AM33XX.
M> Also enable them into board/evm dts files by providing
M> respective phy-id.
M> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
M> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
M> Cc: Benoit Cousson <b-cousson@ti.com>
M> Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
M> Acked-by: Richard Cochran <richardcochran@gmail.com>
M> +++ b/arch/arm/boot/dts/am335x-bone.dts
M> @@ -78,3 +78,11 @@
M> };
M> };
M> };
M> +
M> +&cpsw_emac0 {
M> + phy_id = <&davinci_mdio>, <0>;
M> +};
M> +
M> +&cpsw_emac1 {
M> + phy_id = <&davinci_mdio>, <1>;
M> +};
I already acked this and the problem isn't caused by this patch itself,
but it isn't really nice that you have to add a dummy emac1 even though
only the first port is used on the bone.
It would imho be nicer to get rid of the 'slaves' property in cpsw (just
let the driver count available slave children), mark both slaves in
am33xx.dtsi with status = 'disabled' and only loop over the available
slaves in cpsw_probe_dt(), similar to E.G. how the uarts/i2c are handled.
Then am335x-bone.dts would just need to add:
&cpsw_emac0 {
status = 'ok';
phy_id = <&davinci_mdio>, <0>;
};
I'll send a patch shortly to implement this.
M> diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
M> index bb31bff..a4615b4 100644
M> --- a/arch/arm/boot/dts/am33xx.dtsi
M> +++ b/arch/arm/boot/dts/am33xx.dtsi
M> @@ -210,5 +210,53 @@
M> interrupt-parent = <&intc>;
M> interrupts = <91>;
M> };
M> +
M> + mac: ethernet@4a100000 {
M> + compatible = "ti,cpsw";
M> + ti,hwmods = "cpgmac0";
M> + cpdma_channels = <8>;
M> + ale_entries = <1024>;
M> + bd_ram_size = <0x2000>;
M> + no_bd_ram = <0>;
M> + rx_descs = <64>;
M> + mac_control = <0x20>;
M> + slaves = <2>;
M> + cpts_active_slave = <0>;
M> + cpts_clock_mult = <0x80000000>;
M> + cpts_clock_shift = <29>;
M> + reg = <0x4a100000 0x800
M> + 0x4a101200 0x100>;
M> + #address-cells = <1>;
M> + #size-cells = <1>;
M> + interrupt-parent = <&intc>;
M> + /*
M> + * c0_rx_thresh_pend
M> + * c0_rx_pend
M> + * c0_tx_pend
M> + * c0_misc_pend
M> + */
M> + interrupts = <40 41 42 43>;
M> + ranges;
M> +
M> + davinci_mdio: mdio@4a101000 {
M> + compatible = "ti,davinci_mdio";
M> + #address-cells = <1>;
M> + #size-cells = <0>;
M> + ti,hwmods = "davinci_mdio";
M> + bus_freq = <1000000>;
M> + reg = <0x4a101000 0x100>;
M> + };
M> +
M> + cpsw_emac0: slave@4a100200 {
M> + /* Filled in by U-Boot */
M> + mac-address = [ 00 00 00 00 00 00 ];
M> + };
M> +
M> + cpsw_emac1: slave@4a100300 {
M> + /* Filled in by U-Boot */
M> + mac-address = [ 00 00 00 00 00 00 ];
M> + };
M> +
M> + };
--
Bye, Peter Korsgaard
^ permalink raw reply
* [PATCH] net, batman: don't crash on zero length strings in routing_algo
From: Sasha Levin @ 2012-11-19 20:08 UTC (permalink / raw)
To: lindner_marek-LWAfsSFWpa4, siwu-MaAgPAbsBIVS8oHt8HbXEIQuADTiUCJX,
ordex-GaUfNO9RBHfsrOwW+9ziJQ
Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
b.a.t.m.a.n-ZwoEplunGu2X36UT3dwllkB+6BGkLq7r,
davem-fT/PcQaiUtIeIZ0/mPfg9Q, Sasha Levin,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
The code that works with routing_algo assumes that the string passed is non
empty, this assumption is wrong:
sh-4.2# echo -ne '\0' > /sys/module/batman_adv/parameters/routing_algo
[ 34.531340] BUG: unable to handle kernel paging request at ffff880015142fff
[ 34.539191] IP: [<ffffffff8390ac7a>] batadv_param_set_ra+0x3a/0x90
[ 34.541128] PGD 5027063 PUD 502b063 PMD 1bfc6067 PTE 15142160
[ 34.541128] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
[ 34.541128] CPU 0
[ 34.541128] Pid: 6612, comm: sh Tainted: G W 3.7.0-rc6-sasha-00024-g33da443-dirty #157
[ 34.541128] RIP: 0010:[<ffffffff8390ac7a>] [<ffffffff8390ac7a>] batadv_param_set_ra+0x3a/0x90
[ 34.541128] RSP: 0018:ffff880014f81e48 EFLAGS: 00010292
[ 34.541128] RAX: 000000000000003b RBX: ffff880015143000 RCX: 0000000000000006
[ 34.550025] RDX: 0000000000000006 RSI: ffff8800151cb960 RDI: 0000000000000282
[ 34.550025] RBP: ffff880014f81e68 R08: 0000000000000003 R09: 0000000000000000
[ 34.550025] R10: 0000000000000000 R11: 0000000000000001 R12: ffff880015142fff
[ 34.550025] R13: ffffffff84e6b390 R14: ffff880014f86a00 R15: ffffffff83c35170
[ 34.550025] FS: 00007f9ebc796700(0000) GS:ffff88001a600000(0000) knlGS:0000000000000000
[ 34.550025] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 34.550025] CR2: ffff880015142fff CR3: 000000001522f000 CR4: 00000000000406f0
[ 34.550025] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 34.550025] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 34.550025] Process sh (pid: 6612, threadinfo ffff880014f80000, task ffff8800151cb000)
[ 34.550025] Stack:
[ 34.550025] ffff880014f81e68 ffff8800198ee020 0000000000000001 ffff880015143000
[ 34.550025] ffff880014f81e98 ffffffff81133776 ffff880014f81ea8 ffff880014f86a20
[ 34.550025] ffff880014f81f50 ffff880019d86d20 ffff880014f81ea8 ffffffff811335f8
[ 34.550025] Call Trace:
[ 34.550025] [<ffffffff81133776>] param_attr_store+0x46/0x80
[ 34.550025] [<ffffffff811335f8>] module_attr_store+0x18/0x40
[ 34.550025] [<ffffffff812ed751>] sysfs_write_file+0x101/0x170
[ 34.550025] [<ffffffff8126fcb8>] vfs_write+0xb8/0x180
[ 34.550025] [<ffffffff8126fe70>] sys_write+0x50/0xa0
[ 34.550025] [<ffffffff83b30018>] tracesys+0xe1/0xe6
[ 34.550025] Code: 4c 89 65 f0 4c 89 6d f8 49 89 f5 e8 71 c5 0b fe 48 c7 c7 38 2e df 84 4c 8d 60 ff 48 89 c6 31 c0 4c 89 e2 49 01 dc e8 a6 d8 15 00 <41> 80 3c 24 0a 75 05 41 c6 04 24 00 48 89 df e8 62 ff ff ff 48
[ 34.550025] RIP [<ffffffff8390ac7a>] batadv_param_set_ra+0x3a/0x90
[ 34.550025] RSP <ffff880014f81e48>
[ 34.550025] CR2: ffff880015142fff
[ 34.550025] ---[ end trace 6c53b662c574774b ]---
Signed-off-by: Sasha Levin <sasha.levin-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
---
net/batman-adv/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c
index dc33a0c..3b8e368 100644
--- a/net/batman-adv/main.c
+++ b/net/batman-adv/main.c
@@ -426,7 +426,7 @@ static int batadv_param_set_ra(const char *val, const struct kernel_param *kp)
char *algo_name = (char *)val;
size_t name_len = strlen(algo_name);
- if (algo_name[name_len - 1] == '\n')
+ if (name_len > 0 && algo_name[name_len - 1] == '\n')
algo_name[name_len - 1] = '\0';
bat_algo_ops = batadv_algo_get(algo_name);
--
1.8.0
^ permalink raw reply related
* Re: [PATCH 196/493] net/wireless: remove use of __devinit
From: Larry Finger @ 2012-11-19 20:03 UTC (permalink / raw)
To: Bill Pemberton
Cc: gregkh, John W. Linville, Jiri Slaby, Nick Kossifidis,
Luis R. Rodriguez, Simon Kelley, Stefano Brivio,
Stanislav Yakovlev, Dan Williams, Christian Lamparter,
Herton Ronaldo Krzesinski, Hin-Tak Leung, Chaoming Li,
Luciano Coelho, linux-wireless, netdev, ath5k-devel, b43-dev,
brcm80211-dev-list, libertas-dev
In-Reply-To: <1353349642-3677-196-git-send-email-wfp5p@virginia.edu>
On 11/19/2012 12:22 PM, Bill Pemberton wrote:
> CONFIG_HOTPLUG is going away as an option so __devinit is no longer
> needed.
>
> Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
> Cc: "John W. Linville" <linville@tuxdriver.com>
> Cc: Jiri Slaby <jirislaby@gmail.com>
> Cc: Nick Kossifidis <mickflemm@gmail.com>
> Cc: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>
> Cc: Simon Kelley <simon@thekelleys.org.uk>
> Cc: Stefano Brivio <stefano.brivio@polimi.it>
> Cc: Stanislav Yakovlev <stas.yakovlev@gmail.com>
> Cc: Dan Williams <dcbw@redhat.com>
> Cc: Christian Lamparter <chunkeey@googlemail.com>
> Cc: Herton Ronaldo Krzesinski <herton@canonical.com>
> Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
> Cc: Larry Finger <Larry.Finger@lwfinger.net>
> Cc: Chaoming Li <chaoming_li@realsil.com.cn>
> Cc: Luciano Coelho <coelho@ti.com>
> Cc: linux-wireless@vger.kernel.org
> Cc: netdev@vger.kernel.org
> Cc: ath5k-devel@lists.ath5k.org
> Cc: b43-dev@lists.infradead.org
> Cc: brcm80211-dev-list@broadcom.com
> Cc: libertas-dev@lists.infradead.org
> ---
> drivers/net/wireless/adm8211.c | 2 +-
> drivers/net/wireless/airo.c | 2 +-
> drivers/net/wireless/ath/ath5k/base.c | 4 ++--
> drivers/net/wireless/ath/ath5k/led.c | 2 +-
> drivers/net/wireless/ath/ath5k/pci.c | 2 +-
> drivers/net/wireless/atmel_pci.c | 2 +-
> drivers/net/wireless/b43/pcmcia.c | 2 +-
> drivers/net/wireless/b43/sdio.c | 2 +-
> drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c | 2 +-
> drivers/net/wireless/ipw2x00/ipw2200.c | 4 ++--
> drivers/net/wireless/libertas/if_spi.c | 2 +-
> drivers/net/wireless/mwl8k.c | 2 +-
> drivers/net/wireless/p54/p54pci.c | 2 +-
> drivers/net/wireless/p54/p54spi.c | 2 +-
> drivers/net/wireless/p54/p54usb.c | 2 +-
> drivers/net/wireless/rtl818x/rtl8180/dev.c | 2 +-
> drivers/net/wireless/rtl818x/rtl8187/dev.c | 2 +-
> drivers/net/wireless/rtlwifi/pci.c | 2 +-
> drivers/net/wireless/rtlwifi/pci.h | 2 +-
> drivers/net/wireless/rtlwifi/usb.c | 2 +-
> drivers/net/wireless/rtlwifi/usb.h | 2 +-
> drivers/net/wireless/ti/wl1251/spi.c | 2 +-
> drivers/net/wireless/ti/wl12xx/main.c | 2 +-
> drivers/net/wireless/ti/wl18xx/main.c | 2 +-
> drivers/net/wireless/ti/wlcore/main.c | 2 +-
> drivers/net/wireless/ti/wlcore/sdio.c | 2 +-
> drivers/net/wireless/ti/wlcore/spi.c | 2 +-
> drivers/net/wireless/ti/wlcore/wlcore.h | 2 +-
> 28 files changed, 30 insertions(+), 30 deletions(-)
ACKed-by: Larry Finger <Larry.Finger.net> for the rtl8187 and rtlwifi parts.
>
> diff --git a/drivers/net/wireless/adm8211.c b/drivers/net/wireless/adm8211.c
> index a05bac2..bd89a29 100644
> --- a/drivers/net/wireless/adm8211.c
> +++ b/drivers/net/wireless/adm8211.c
> @@ -1761,7 +1761,7 @@ static const struct ieee80211_ops adm8211_ops = {
> .get_tsf = adm8211_get_tsft
> };
>
> -static int __devinit adm8211_probe(struct pci_dev *pdev,
> +static int adm8211_probe(struct pci_dev *pdev,
> const struct pci_device_id *id)
> {
> struct ieee80211_hw *dev;
> diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
> index af1096b..b010f41 100644
> --- a/drivers/net/wireless/airo.c
> +++ b/drivers/net/wireless/airo.c
> @@ -5584,7 +5584,7 @@ static void timer_func( struct net_device *dev ) {
> }
>
> #ifdef CONFIG_PCI
> -static int __devinit airo_pci_probe(struct pci_dev *pdev,
> +static int airo_pci_probe(struct pci_dev *pdev,
> const struct pci_device_id *pent)
> {
> struct net_device *dev;
> diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
> index 9f31cfa..026ae8a 100644
> --- a/drivers/net/wireless/ath/ath5k/base.c
> +++ b/drivers/net/wireless/ath/ath5k/base.c
> @@ -2434,7 +2434,7 @@ static const struct ieee80211_iface_combination if_comb = {
> .num_different_channels = 1,
> };
>
> -int __devinit
> +int
> ath5k_init_ah(struct ath5k_hw *ah, const struct ath_bus_ops *bus_ops)
> {
> struct ieee80211_hw *hw = ah->hw;
> @@ -2860,7 +2860,7 @@ static void ath5k_reset_work(struct work_struct *work)
> mutex_unlock(&ah->lock);
> }
>
> -static int __devinit
> +static int
> ath5k_init(struct ieee80211_hw *hw)
> {
>
> diff --git a/drivers/net/wireless/ath/ath5k/led.c b/drivers/net/wireless/ath/ath5k/led.c
> index b9f708a..f77ef36 100644
> --- a/drivers/net/wireless/ath/ath5k/led.c
> +++ b/drivers/net/wireless/ath/ath5k/led.c
> @@ -158,7 +158,7 @@ void ath5k_unregister_leds(struct ath5k_hw *ah)
> ath5k_unregister_led(&ah->tx_led);
> }
>
> -int __devinit ath5k_init_leds(struct ath5k_hw *ah)
> +int ath5k_init_leds(struct ath5k_hw *ah)
> {
> int ret = 0;
> struct ieee80211_hw *hw = ah->hw;
> diff --git a/drivers/net/wireless/ath/ath5k/pci.c b/drivers/net/wireless/ath/ath5k/pci.c
> index c3ba483..1a78ba3 100644
> --- a/drivers/net/wireless/ath/ath5k/pci.c
> +++ b/drivers/net/wireless/ath/ath5k/pci.c
> @@ -155,7 +155,7 @@ static const struct ath_bus_ops ath_pci_bus_ops = {
> * PCI Initialization *
> \********************/
>
> -static int __devinit
> +static int
> ath5k_pci_probe(struct pci_dev *pdev,
> const struct pci_device_id *id)
> {
> diff --git a/drivers/net/wireless/atmel_pci.c b/drivers/net/wireless/atmel_pci.c
> index fbe6580..1c12fec 100644
> --- a/drivers/net/wireless/atmel_pci.c
> +++ b/drivers/net/wireless/atmel_pci.c
> @@ -49,7 +49,7 @@ static struct pci_driver atmel_driver = {
> };
>
>
> -static int __devinit atmel_pci_probe(struct pci_dev *pdev,
> +static int atmel_pci_probe(struct pci_dev *pdev,
> const struct pci_device_id *pent)
> {
> struct net_device *dev;
> diff --git a/drivers/net/wireless/b43/pcmcia.c b/drivers/net/wireless/b43/pcmcia.c
> index 3477213..3506cca 100644
> --- a/drivers/net/wireless/b43/pcmcia.c
> +++ b/drivers/net/wireless/b43/pcmcia.c
> @@ -60,7 +60,7 @@ static int b43_pcmcia_resume(struct pcmcia_device *dev)
> # define b43_pcmcia_resume NULL
> #endif /* CONFIG_PM */
>
> -static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev)
> +static int b43_pcmcia_probe(struct pcmcia_device *dev)
> {
> struct ssb_bus *ssb;
> int err = -ENOMEM;
> diff --git a/drivers/net/wireless/b43/sdio.c b/drivers/net/wireless/b43/sdio.c
> index 80b0755..d2b1f98 100644
> --- a/drivers/net/wireless/b43/sdio.c
> +++ b/drivers/net/wireless/b43/sdio.c
> @@ -93,7 +93,7 @@ void b43_sdio_free_irq(struct b43_wldev *dev)
> sdio->irq_handler = NULL;
> }
>
> -static int __devinit b43_sdio_probe(struct sdio_func *func,
> +static int b43_sdio_probe(struct sdio_func *func,
> const struct sdio_device_id *id)
> {
> struct b43_sdio *sdio;
> diff --git a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
> index cdd5aa2..7e65f9a 100644
> --- a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
> +++ b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
> @@ -1093,7 +1093,7 @@ fail:
> *
> * Perimeter lock is initialized in the course of this function.
> */
> -static int __devinit brcms_bcma_probe(struct bcma_device *pdev)
> +static int brcms_bcma_probe(struct bcma_device *pdev)
> {
> struct brcms_info *wl;
> struct ieee80211_hw *hw;
> diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c
> index b809b99..3f099a6 100644
> --- a/drivers/net/wireless/ipw2x00/ipw2200.c
> +++ b/drivers/net/wireless/ipw2x00/ipw2200.c
> @@ -10774,7 +10774,7 @@ static void ipw_bg_link_down(struct work_struct *work)
> mutex_unlock(&priv->mutex);
> }
>
> -static int __devinit ipw_setup_deferred_work(struct ipw_priv *priv)
> +static int ipw_setup_deferred_work(struct ipw_priv *priv)
> {
> int ret = 0;
>
> @@ -11722,7 +11722,7 @@ static const struct net_device_ops ipw_netdev_ops = {
> .ndo_validate_addr = eth_validate_addr,
> };
>
> -static int __devinit ipw_pci_probe(struct pci_dev *pdev,
> +static int ipw_pci_probe(struct pci_dev *pdev,
> const struct pci_device_id *ent)
> {
> int err = 0;
> diff --git a/drivers/net/wireless/libertas/if_spi.c b/drivers/net/wireless/libertas/if_spi.c
> index 98cccc7..abc32e3 100644
> --- a/drivers/net/wireless/libertas/if_spi.c
> +++ b/drivers/net/wireless/libertas/if_spi.c
> @@ -1124,7 +1124,7 @@ static void if_spi_resume_worker(struct work_struct *work)
> }
> }
>
> -static int __devinit if_spi_probe(struct spi_device *spi)
> +static int if_spi_probe(struct spi_device *spi)
> {
> struct if_spi_card *card;
> struct lbs_private *priv = NULL;
> diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c
> index c26cfaa..1bbdc63 100644
> --- a/drivers/net/wireless/mwl8k.c
> +++ b/drivers/net/wireless/mwl8k.c
> @@ -5755,7 +5755,7 @@ err_free_cookie:
>
> return rc;
> }
> -static int __devinit mwl8k_probe(struct pci_dev *pdev,
> +static int mwl8k_probe(struct pci_dev *pdev,
> const struct pci_device_id *id)
> {
> static int printed_version;
> diff --git a/drivers/net/wireless/p54/p54pci.c b/drivers/net/wireless/p54/p54pci.c
> index b382469..e5b29e9 100644
> --- a/drivers/net/wireless/p54/p54pci.c
> +++ b/drivers/net/wireless/p54/p54pci.c
> @@ -540,7 +540,7 @@ out:
> pci_dev_put(pdev);
> }
>
> -static int __devinit p54p_probe(struct pci_dev *pdev,
> +static int p54p_probe(struct pci_dev *pdev,
> const struct pci_device_id *id)
> {
> struct p54p_priv *priv;
> diff --git a/drivers/net/wireless/p54/p54spi.c b/drivers/net/wireless/p54/p54spi.c
> index 51129f4..d75ab3e 100644
> --- a/drivers/net/wireless/p54/p54spi.c
> +++ b/drivers/net/wireless/p54/p54spi.c
> @@ -595,7 +595,7 @@ static void p54spi_op_stop(struct ieee80211_hw *dev)
> cancel_work_sync(&priv->work);
> }
>
> -static int __devinit p54spi_probe(struct spi_device *spi)
> +static int p54spi_probe(struct spi_device *spi)
> {
> struct p54s_priv *priv = NULL;
> struct ieee80211_hw *hw;
> diff --git a/drivers/net/wireless/p54/p54usb.c b/drivers/net/wireless/p54/p54usb.c
> index 0463ac2..000f7ba 100644
> --- a/drivers/net/wireless/p54/p54usb.c
> +++ b/drivers/net/wireless/p54/p54usb.c
> @@ -986,7 +986,7 @@ static int p54u_load_firmware(struct ieee80211_hw *dev,
> return err;
> }
>
> -static int __devinit p54u_probe(struct usb_interface *intf,
> +static int p54u_probe(struct usb_interface *intf,
> const struct usb_device_id *id)
> {
> struct usb_device *udev = interface_to_usbdev(intf);
> diff --git a/drivers/net/wireless/rtl818x/rtl8180/dev.c b/drivers/net/wireless/rtl818x/rtl8180/dev.c
> index b117541..6a5c0b8 100644
> --- a/drivers/net/wireless/rtl818x/rtl8180/dev.c
> +++ b/drivers/net/wireless/rtl818x/rtl8180/dev.c
> @@ -901,7 +901,7 @@ static void rtl8180_eeprom_register_write(struct eeprom_93cx6 *eeprom)
> udelay(10);
> }
>
> -static int __devinit rtl8180_probe(struct pci_dev *pdev,
> +static int rtl8180_probe(struct pci_dev *pdev,
> const struct pci_device_id *id)
> {
> struct ieee80211_hw *dev;
> diff --git a/drivers/net/wireless/rtl818x/rtl8187/dev.c b/drivers/net/wireless/rtl818x/rtl8187/dev.c
> index 9892310..f879bc3 100644
> --- a/drivers/net/wireless/rtl818x/rtl8187/dev.c
> +++ b/drivers/net/wireless/rtl818x/rtl8187/dev.c
> @@ -1411,7 +1411,7 @@ static void rtl8187_eeprom_register_write(struct eeprom_93cx6 *eeprom)
> udelay(10);
> }
>
> -static int __devinit rtl8187_probe(struct usb_interface *intf,
> +static int rtl8187_probe(struct usb_interface *intf,
> const struct usb_device_id *id)
> {
> struct usb_device *udev = interface_to_usbdev(intf);
> diff --git a/drivers/net/wireless/rtlwifi/pci.c b/drivers/net/wireless/rtlwifi/pci.c
> index f38e30a..f2bd68e 100644
> --- a/drivers/net/wireless/rtlwifi/pci.c
> +++ b/drivers/net/wireless/rtlwifi/pci.c
> @@ -1756,7 +1756,7 @@ static bool _rtl_pci_find_adapter(struct pci_dev *pdev,
> return true;
> }
>
> -int __devinit rtl_pci_probe(struct pci_dev *pdev,
> +int rtl_pci_probe(struct pci_dev *pdev,
> const struct pci_device_id *id)
> {
> struct ieee80211_hw *hw = NULL;
> diff --git a/drivers/net/wireless/rtlwifi/pci.h b/drivers/net/wireless/rtlwifi/pci.h
> index f71b12a..5eee0fa 100644
> --- a/drivers/net/wireless/rtlwifi/pci.h
> +++ b/drivers/net/wireless/rtlwifi/pci.h
> @@ -236,7 +236,7 @@ int rtl_pci_reset_trx_ring(struct ieee80211_hw *hw);
>
> extern struct rtl_intf_ops rtl_pci_ops;
>
> -int __devinit rtl_pci_probe(struct pci_dev *pdev,
> +int rtl_pci_probe(struct pci_dev *pdev,
> const struct pci_device_id *id);
> void rtl_pci_disconnect(struct pci_dev *pdev);
> int rtl_pci_suspend(struct device *dev);
> diff --git a/drivers/net/wireless/rtlwifi/usb.c b/drivers/net/wireless/rtlwifi/usb.c
> index e3ea4b3..29f0969 100644
> --- a/drivers/net/wireless/rtlwifi/usb.c
> +++ b/drivers/net/wireless/rtlwifi/usb.c
> @@ -940,7 +940,7 @@ static struct rtl_intf_ops rtl_usb_ops = {
> .waitq_insert = rtl_usb_tx_chk_waitq_insert,
> };
>
> -int __devinit rtl_usb_probe(struct usb_interface *intf,
> +int rtl_usb_probe(struct usb_interface *intf,
> const struct usb_device_id *id)
> {
> int err;
> diff --git a/drivers/net/wireless/rtlwifi/usb.h b/drivers/net/wireless/rtlwifi/usb.h
> index 43846b3..5235136 100644
> --- a/drivers/net/wireless/rtlwifi/usb.h
> +++ b/drivers/net/wireless/rtlwifi/usb.h
> @@ -156,7 +156,7 @@ struct rtl_usb_priv {
>
>
>
> -int __devinit rtl_usb_probe(struct usb_interface *intf,
> +int rtl_usb_probe(struct usb_interface *intf,
> const struct usb_device_id *id);
> void rtl_usb_disconnect(struct usb_interface *intf);
> int rtl_usb_suspend(struct usb_interface *pusb_intf, pm_message_t message);
> diff --git a/drivers/net/wireless/ti/wl1251/spi.c b/drivers/net/wireless/ti/wl1251/spi.c
> index 3ec61b9..640a3d5 100644
> --- a/drivers/net/wireless/ti/wl1251/spi.c
> +++ b/drivers/net/wireless/ti/wl1251/spi.c
> @@ -237,7 +237,7 @@ static const struct wl1251_if_operations wl1251_spi_ops = {
> .power = wl1251_spi_set_power,
> };
>
> -static int __devinit wl1251_spi_probe(struct spi_device *spi)
> +static int wl1251_spi_probe(struct spi_device *spi)
> {
> struct wl12xx_platform_data *pdata;
> struct ieee80211_hw *hw;
> diff --git a/drivers/net/wireless/ti/wl12xx/main.c b/drivers/net/wireless/ti/wl12xx/main.c
> index bc522b6..c10e691 100644
> --- a/drivers/net/wireless/ti/wl12xx/main.c
> +++ b/drivers/net/wireless/ti/wl12xx/main.c
> @@ -1696,7 +1696,7 @@ static int wl12xx_setup(struct wl1271 *wl)
> return 0;
> }
>
> -static int __devinit wl12xx_probe(struct platform_device *pdev)
> +static int wl12xx_probe(struct platform_device *pdev)
> {
> struct wl1271 *wl;
> struct ieee80211_hw *hw;
> diff --git a/drivers/net/wireless/ti/wl18xx/main.c b/drivers/net/wireless/ti/wl18xx/main.c
> index 2d037d5..7171c93 100644
> --- a/drivers/net/wireless/ti/wl18xx/main.c
> +++ b/drivers/net/wireless/ti/wl18xx/main.c
> @@ -1499,7 +1499,7 @@ static int wl18xx_setup(struct wl1271 *wl)
> return 0;
> }
>
> -static int __devinit wl18xx_probe(struct platform_device *pdev)
> +static int wl18xx_probe(struct platform_device *pdev)
> {
> struct wl1271 *wl;
> struct ieee80211_hw *hw;
> diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
> index 25530c8..2dd4ada 100644
> --- a/drivers/net/wireless/ti/wlcore/main.c
> +++ b/drivers/net/wireless/ti/wlcore/main.c
> @@ -5659,7 +5659,7 @@ out:
> complete_all(&wl->nvs_loading_complete);
> }
>
> -int __devinit wlcore_probe(struct wl1271 *wl, struct platform_device *pdev)
> +int wlcore_probe(struct wl1271 *wl, struct platform_device *pdev)
> {
> int ret;
>
> diff --git a/drivers/net/wireless/ti/wlcore/sdio.c b/drivers/net/wireless/ti/wlcore/sdio.c
> index 830bf0d..6fa2a01 100644
> --- a/drivers/net/wireless/ti/wlcore/sdio.c
> +++ b/drivers/net/wireless/ti/wlcore/sdio.c
> @@ -214,7 +214,7 @@ static struct wl1271_if_operations sdio_ops = {
> .set_block_size = wl1271_sdio_set_block_size,
> };
>
> -static int __devinit wl1271_probe(struct sdio_func *func,
> +static int wl1271_probe(struct sdio_func *func,
> const struct sdio_device_id *id)
> {
> struct wl12xx_platform_data *wlan_data;
> diff --git a/drivers/net/wireless/ti/wlcore/spi.c b/drivers/net/wireless/ti/wlcore/spi.c
> index b183001..ee39484 100644
> --- a/drivers/net/wireless/ti/wlcore/spi.c
> +++ b/drivers/net/wireless/ti/wlcore/spi.c
> @@ -324,7 +324,7 @@ static struct wl1271_if_operations spi_ops = {
> .set_block_size = NULL,
> };
>
> -static int __devinit wl1271_probe(struct spi_device *spi)
> +static int wl1271_probe(struct spi_device *spi)
> {
> struct wl12xx_spi_glue *glue;
> struct wl12xx_platform_data *pdata;
> diff --git a/drivers/net/wireless/ti/wlcore/wlcore.h b/drivers/net/wireless/ti/wlcore/wlcore.h
> index 68584aa..adc6152 100644
> --- a/drivers/net/wireless/ti/wlcore/wlcore.h
> +++ b/drivers/net/wireless/ti/wlcore/wlcore.h
> @@ -414,7 +414,7 @@ struct wl1271 {
> struct completion nvs_loading_complete;
> };
>
> -int __devinit wlcore_probe(struct wl1271 *wl, struct platform_device *pdev);
> +int wlcore_probe(struct wl1271 *wl, struct platform_device *pdev);
> int __devexit wlcore_remove(struct platform_device *pdev);
> struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size, u32 aggr_buf_size);
> int wlcore_free_hw(struct wl1271 *wl);
>
^ permalink raw reply
* Re: [PATCH 333/493] net: remove use of __devinitdata
From: Larry Finger @ 2012-11-19 20:02 UTC (permalink / raw)
To: Bill Pemberton
Cc: gregkh, Wolfgang Grandegger, Marc Kleine-Budde, Maciej W. Rozycki,
Jes Sorensen, John W. Linville, Chaoming Li, linux-can, netdev,
linux-hippi, linux-wireless
In-Reply-To: <1353349642-3677-333-git-send-email-wfp5p@virginia.edu>
On 11/19/2012 12:24 PM, Bill Pemberton wrote:
> CONFIG_HOTPLUG is going away as an option so __devinitdata is no
> longer needed.
>
> Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
> Cc: Wolfgang Grandegger <wg@grandegger.com>
> Cc: Marc Kleine-Budde <mkl@pengutronix.de>
> Cc: "Maciej W. Rozycki" <macro@linux-mips.org>
> Cc: Jes Sorensen <jes@trained-monkey.org>
> Cc: "John W. Linville" <linville@tuxdriver.com>
> Cc: Larry Finger <Larry.Finger@lwfinger.net>
> Cc: Chaoming Li <chaoming_li@realsil.com.cn>
> Cc: linux-can@vger.kernel.org
> Cc: netdev@vger.kernel.org
> Cc: linux-hippi@sunsite.dk
> Cc: linux-wireless@vger.kernel.org
> ---
> drivers/net/can/cc770/cc770_isa.c | 12 ++++++------
> drivers/net/can/cc770/cc770_platform.c | 2 +-
> drivers/net/can/mscan/mpc5xxx_can.c | 4 ++--
> drivers/net/can/sja1000/plx_pci.c | 16 ++++++++--------
> drivers/net/can/sja1000/sja1000_isa.c | 10 +++++-----
> drivers/net/can/sja1000/sja1000_of_platform.c | 2 +-
> drivers/net/fddi/defxx.c | 2 +-
> drivers/net/hippi/rrunner.c | 2 +-
> drivers/net/wan/farsync.c | 2 +-
> drivers/net/wireless/mwl8k.c | 2 +-
> drivers/net/wireless/rtlwifi/rtl8192de/sw.c | 2 +-
> drivers/net/wireless/rtlwifi/rtl8192se/sw.c | 2 +-
> drivers/net/wireless/rtlwifi/rtl8723ae/sw.c | 2 +-
> 13 files changed, 30 insertions(+), 30 deletions(-)
ACKed-by: Larry Finger <Larry.Finger.net> for the rtl8192de, rtl8192se, and
rtl8192ae parts.
>
> diff --git a/drivers/net/can/cc770/cc770_isa.c b/drivers/net/can/cc770/cc770_isa.c
> index 9ca0461..bed9d19 100644
> --- a/drivers/net/can/cc770/cc770_isa.c
> +++ b/drivers/net/can/cc770/cc770_isa.c
> @@ -75,12 +75,12 @@ MODULE_LICENSE("GPL v2");
>
> static unsigned long port[MAXDEV];
> static unsigned long mem[MAXDEV];
> -static int __devinitdata irq[MAXDEV];
> -static int __devinitdata clk[MAXDEV];
> -static u8 __devinitdata cir[MAXDEV] = {[0 ... (MAXDEV - 1)] = 0xff};
> -static u8 __devinitdata cor[MAXDEV] = {[0 ... (MAXDEV - 1)] = 0xff};
> -static u8 __devinitdata bcr[MAXDEV] = {[0 ... (MAXDEV - 1)] = 0xff};
> -static int __devinitdata indirect[MAXDEV] = {[0 ... (MAXDEV - 1)] = -1};
> +static int irq[MAXDEV];
> +static int clk[MAXDEV];
> +static u8 cir[MAXDEV] = {[0 ... (MAXDEV - 1)] = 0xff};
> +static u8 cor[MAXDEV] = {[0 ... (MAXDEV - 1)] = 0xff};
> +static u8 bcr[MAXDEV] = {[0 ... (MAXDEV - 1)] = 0xff};
> +static int indirect[MAXDEV] = {[0 ... (MAXDEV - 1)] = -1};
>
> module_param_array(port, ulong, NULL, S_IRUGO);
> MODULE_PARM_DESC(port, "I/O port number");
> diff --git a/drivers/net/can/cc770/cc770_platform.c b/drivers/net/can/cc770/cc770_platform.c
> index fef046f..caf4d70 100644
> --- a/drivers/net/can/cc770/cc770_platform.c
> +++ b/drivers/net/can/cc770/cc770_platform.c
> @@ -253,7 +253,7 @@ static int __devexit cc770_platform_remove(struct platform_device *pdev)
> return 0;
> }
>
> -static struct of_device_id __devinitdata cc770_platform_table[] = {
> +static struct of_device_id cc770_platform_table[] = {
> {.compatible = "bosch,cc770"}, /* CC770 from Bosch */
> {.compatible = "intc,82527"}, /* AN82527 from Intel CP */
> {},
> diff --git a/drivers/net/can/mscan/mpc5xxx_can.c b/drivers/net/can/mscan/mpc5xxx_can.c
> index 752bfed..254c168 100644
> --- a/drivers/net/can/mscan/mpc5xxx_can.c
> +++ b/drivers/net/can/mscan/mpc5xxx_can.c
> @@ -43,7 +43,7 @@ struct mpc5xxx_can_data {
> };
>
> #ifdef CONFIG_PPC_MPC52xx
> -static struct of_device_id __devinitdata mpc52xx_cdm_ids[] = {
> +static struct of_device_id mpc52xx_cdm_ids[] = {
> { .compatible = "fsl,mpc5200-cdm", },
> {}
> };
> @@ -124,7 +124,7 @@ struct mpc512x_clockctl {
> u32 mccr[4]; /* MSCAN Clk Ctrl Reg 1-3 */
> };
>
> -static struct of_device_id __devinitdata mpc512x_clock_ids[] = {
> +static struct of_device_id mpc512x_clock_ids[] = {
> { .compatible = "fsl,mpc5121-clock", },
> {}
> };
> diff --git a/drivers/net/can/sja1000/plx_pci.c b/drivers/net/can/sja1000/plx_pci.c
> index 619b96c..f1c7a50 100644
> --- a/drivers/net/can/sja1000/plx_pci.c
> +++ b/drivers/net/can/sja1000/plx_pci.c
> @@ -158,7 +158,7 @@ struct plx_pci_card_info {
> void (*reset_func)(struct pci_dev *pdev);
> };
>
> -static struct plx_pci_card_info plx_pci_card_info_adlink __devinitdata = {
> +static struct plx_pci_card_info plx_pci_card_info_adlink = {
> "Adlink PCI-7841/cPCI-7841", 2,
> PLX_PCI_CAN_CLOCK, PLX_PCI_OCR, PLX_PCI_CDR,
> {1, 0x00, 0x00}, { {2, 0x00, 0x80}, {2, 0x80, 0x80} },
> @@ -166,7 +166,7 @@ static struct plx_pci_card_info plx_pci_card_info_adlink __devinitdata = {
> /* based on PLX9052 */
> };
>
> -static struct plx_pci_card_info plx_pci_card_info_adlink_se __devinitdata = {
> +static struct plx_pci_card_info plx_pci_card_info_adlink_se = {
> "Adlink PCI-7841/cPCI-7841 SE", 2,
> PLX_PCI_CAN_CLOCK, PLX_PCI_OCR, PLX_PCI_CDR,
> {0, 0x00, 0x00}, { {2, 0x00, 0x80}, {2, 0x80, 0x80} },
> @@ -174,7 +174,7 @@ static struct plx_pci_card_info plx_pci_card_info_adlink_se __devinitdata = {
> /* based on PLX9052 */
> };
>
> -static struct plx_pci_card_info plx_pci_card_info_esd200 __devinitdata = {
> +static struct plx_pci_card_info plx_pci_card_info_esd200 = {
> "esd CAN-PCI/CPCI/PCI104/200", 2,
> PLX_PCI_CAN_CLOCK, PLX_PCI_OCR, PLX_PCI_CDR,
> {0, 0x00, 0x00}, { {2, 0x00, 0x80}, {2, 0x100, 0x80} },
> @@ -182,7 +182,7 @@ static struct plx_pci_card_info plx_pci_card_info_esd200 __devinitdata = {
> /* based on PLX9030/9050 */
> };
>
> -static struct plx_pci_card_info plx_pci_card_info_esd266 __devinitdata = {
> +static struct plx_pci_card_info plx_pci_card_info_esd266 = {
> "esd CAN-PCI/PMC/266", 2,
> PLX_PCI_CAN_CLOCK, PLX_PCI_OCR, PLX_PCI_CDR,
> {0, 0x00, 0x00}, { {2, 0x00, 0x80}, {2, 0x100, 0x80} },
> @@ -190,7 +190,7 @@ static struct plx_pci_card_info plx_pci_card_info_esd266 __devinitdata = {
> /* based on PLX9056 */
> };
>
> -static struct plx_pci_card_info plx_pci_card_info_esd2000 __devinitdata = {
> +static struct plx_pci_card_info plx_pci_card_info_esd2000 = {
> "esd CAN-PCIe/2000", 2,
> PLX_PCI_CAN_CLOCK, PLX_PCI_OCR, PLX_PCI_CDR,
> {0, 0x00, 0x00}, { {2, 0x00, 0x80}, {2, 0x100, 0x80} },
> @@ -198,7 +198,7 @@ static struct plx_pci_card_info plx_pci_card_info_esd2000 __devinitdata = {
> /* based on PEX8311 */
> };
>
> -static struct plx_pci_card_info plx_pci_card_info_ixxat __devinitdata = {
> +static struct plx_pci_card_info plx_pci_card_info_ixxat = {
> "IXXAT PC-I 04/PCI", 2,
> PLX_PCI_CAN_CLOCK, PLX_PCI_OCR, PLX_PCI_CDR,
> {0, 0x00, 0x00}, { {2, 0x00, 0x80}, {2, 0x200, 0x80} },
> @@ -206,7 +206,7 @@ static struct plx_pci_card_info plx_pci_card_info_ixxat __devinitdata = {
> /* based on PLX9050 */
> };
>
> -static struct plx_pci_card_info plx_pci_card_info_marathon __devinitdata = {
> +static struct plx_pci_card_info plx_pci_card_info_marathon = {
> "Marathon CAN-bus-PCI", 2,
> PLX_PCI_CAN_CLOCK, PLX_PCI_OCR, PLX_PCI_CDR,
> {0, 0x00, 0x00}, { {2, 0x00, 0x00}, {4, 0x00, 0x00} },
> @@ -214,7 +214,7 @@ static struct plx_pci_card_info plx_pci_card_info_marathon __devinitdata = {
> /* based on PLX9052 */
> };
>
> -static struct plx_pci_card_info plx_pci_card_info_tews __devinitdata = {
> +static struct plx_pci_card_info plx_pci_card_info_tews = {
> "TEWS TECHNOLOGIES TPMC810", 2,
> PLX_PCI_CAN_CLOCK, PLX_PCI_OCR, PLX_PCI_CDR,
> {0, 0x00, 0x00}, { {2, 0x000, 0x80}, {2, 0x100, 0x80} },
> diff --git a/drivers/net/can/sja1000/sja1000_isa.c b/drivers/net/can/sja1000/sja1000_isa.c
> index 3f12e85..a872f24 100644
> --- a/drivers/net/can/sja1000/sja1000_isa.c
> +++ b/drivers/net/can/sja1000/sja1000_isa.c
> @@ -42,11 +42,11 @@ MODULE_LICENSE("GPL v2");
>
> static unsigned long port[MAXDEV];
> static unsigned long mem[MAXDEV];
> -static int __devinitdata irq[MAXDEV];
> -static int __devinitdata clk[MAXDEV];
> -static unsigned char __devinitdata cdr[MAXDEV] = {[0 ... (MAXDEV - 1)] = 0xff};
> -static unsigned char __devinitdata ocr[MAXDEV] = {[0 ... (MAXDEV - 1)] = 0xff};
> -static int __devinitdata indirect[MAXDEV] = {[0 ... (MAXDEV - 1)] = -1};
> +static int irq[MAXDEV];
> +static int clk[MAXDEV];
> +static unsigned char cdr[MAXDEV] = {[0 ... (MAXDEV - 1)] = 0xff};
> +static unsigned char ocr[MAXDEV] = {[0 ... (MAXDEV - 1)] = 0xff};
> +static int indirect[MAXDEV] = {[0 ... (MAXDEV - 1)] = -1};
>
> module_param_array(port, ulong, NULL, S_IRUGO);
> MODULE_PARM_DESC(port, "I/O port number");
> diff --git a/drivers/net/can/sja1000/sja1000_of_platform.c b/drivers/net/can/sja1000/sja1000_of_platform.c
> index 259d5a1d..1ca0ee1 100644
> --- a/drivers/net/can/sja1000/sja1000_of_platform.c
> +++ b/drivers/net/can/sja1000/sja1000_of_platform.c
> @@ -204,7 +204,7 @@ exit_release_mem:
> return err;
> }
>
> -static struct of_device_id __devinitdata sja1000_ofp_table[] = {
> +static struct of_device_id sja1000_ofp_table[] = {
> {.compatible = "nxp,sja1000"},
> {},
> };
> diff --git a/drivers/net/fddi/defxx.c b/drivers/net/fddi/defxx.c
> index 13f42cc..fd58f0b 100644
> --- a/drivers/net/fddi/defxx.c
> +++ b/drivers/net/fddi/defxx.c
> @@ -228,7 +228,7 @@
> #define DRV_VERSION "v1.10"
> #define DRV_RELDATE "2006/12/14"
>
> -static char version[] __devinitdata =
> +static char version[] =
> DRV_NAME ": " DRV_VERSION " " DRV_RELDATE
> " Lawrence V. Stefani and others\n";
>
> diff --git a/drivers/net/hippi/rrunner.c b/drivers/net/hippi/rrunner.c
> index 164d845..12b7ff9 100644
> --- a/drivers/net/hippi/rrunner.c
> +++ b/drivers/net/hippi/rrunner.c
> @@ -61,7 +61,7 @@ MODULE_AUTHOR("Jes Sorensen <jes@wildopensource.com>");
> MODULE_DESCRIPTION("Essential RoadRunner HIPPI driver");
> MODULE_LICENSE("GPL");
>
> -static char version[] __devinitdata = "rrunner.c: v0.50 11/11/2002 Jes Sorensen (jes@wildopensource.com)\n";
> +static char version[] = "rrunner.c: v0.50 11/11/2002 Jes Sorensen (jes@wildopensource.com)\n";
>
>
> static const struct net_device_ops rr_netdev_ops = {
> diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c
> index dc529aa..dbbe06e 100644
> --- a/drivers/net/wan/farsync.c
> +++ b/drivers/net/wan/farsync.c
> @@ -2361,7 +2361,7 @@ fst_start_xmit(struct sk_buff *skb, struct net_device *dev)
> * via a printk and leave the corresponding interface and all that follow
> * disabled.
> */
> -static char *type_strings[] __devinitdata = {
> +static char *type_strings[] = {
> "no hardware", /* Should never be seen */
> "FarSync T2P",
> "FarSync T4P",
> diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c
> index 1bbdc63..b9f71fd 100644
> --- a/drivers/net/wireless/mwl8k.c
> +++ b/drivers/net/wireless/mwl8k.c
> @@ -5257,7 +5257,7 @@ enum {
> #define _MWL8K_8366_AP_FW(api) "mwl8k/fmimage_8366_ap-" #api ".fw"
> #define MWL8K_8366_AP_FW(api) _MWL8K_8366_AP_FW(api)
>
> -static struct mwl8k_device_info mwl8k_info_tbl[] __devinitdata = {
> +static struct mwl8k_device_info mwl8k_info_tbl[] = {
> [MWL8363] = {
> .part_name = "88w8363",
> .helper_image = "mwl8k/helper_8363.fw",
> diff --git a/drivers/net/wireless/rtlwifi/rtl8192de/sw.c b/drivers/net/wireless/rtlwifi/rtl8192de/sw.c
> index 480862c..93d792a 100644
> --- a/drivers/net/wireless/rtlwifi/rtl8192de/sw.c
> +++ b/drivers/net/wireless/rtlwifi/rtl8192de/sw.c
> @@ -352,7 +352,7 @@ static struct rtl_hal_cfg rtl92de_hal_cfg = {
> .maps[RTL_RC_HT_RATEMCS15] = DESC92_RATEMCS15,
> };
>
> -static struct pci_device_id rtl92de_pci_ids[] __devinitdata = {
> +static struct pci_device_id rtl92de_pci_ids[] = {
> {RTL_PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8193, rtl92de_hal_cfg)},
> {RTL_PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x002B, rtl92de_hal_cfg)},
> {},
> diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/sw.c b/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
> index ad4b480..ca80fa8 100644
> --- a/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
> +++ b/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
> @@ -403,7 +403,7 @@ static struct rtl_hal_cfg rtl92se_hal_cfg = {
> .maps[RTL_RC_HT_RATEMCS15] = DESC92_RATEMCS15,
> };
>
> -static struct pci_device_id rtl92se_pci_ids[] __devinitdata = {
> +static struct pci_device_id rtl92se_pci_ids[] = {
> {RTL_PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8192, rtl92se_hal_cfg)},
> {RTL_PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8171, rtl92se_hal_cfg)},
> {RTL_PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8172, rtl92se_hal_cfg)},
> diff --git a/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c b/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c
> index 0afdc24..b1c3626 100644
> --- a/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c
> +++ b/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c
> @@ -341,7 +341,7 @@ static struct rtl_hal_cfg rtl8723ae_hal_cfg = {
> .maps[RTL_RC_HT_RATEMCS15] = DESC92_RATEMCS15,
> };
>
> -static struct pci_device_id rtl8723ae_pci_ids[] __devinitdata = {
> +static struct pci_device_id rtl8723ae_pci_ids[] = {
> {RTL_PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8723, rtl8723ae_hal_cfg)},
> {},
> };
>
^ permalink raw reply
* Re: [PATCH 471/493] net: remove use of __devexit
From: Larry Finger @ 2012-11-19 20:01 UTC (permalink / raw)
To: Bill Pemberton
Cc: Jiri Slaby, Michael S. Tsirkin, VMware, Inc., virtualization,
Maciej W. Rozycki, Christian Lamparter, Hin-Tak Leung,
Luciano Coelho, Stefano Brivio, libertas-dev, Dan Williams,
ath5k-devel, Luis R. Rodriguez, linux-hippi, Nick Kossifidis,
Francois Romieu, Herton Ronaldo Krzesinski, Stanislav Yakovlev,
b43-dev, Samuel Ortiz, John W. Linville, linux-can, xen-devel,
Marc
In-Reply-To: <1353349642-3677-471-git-send-email-wfp5p@virginia.edu>
On 11/19/2012 12:27 PM, Bill Pemberton wrote:
> CONFIG_HOTPLUG is going away as an option so __devexit is no
> longer needed.
>
> Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
> Cc: Wolfgang Grandegger <wg@grandegger.com>
> Cc: Marc Kleine-Budde <mkl@pengutronix.de>
> Cc: "Maciej W. Rozycki" <macro@linux-mips.org>
> Cc: Jes Sorensen <jes@trained-monkey.org>
> Cc: Samuel Ortiz <samuel@sortiz.org>
> Cc: Rusty Russell <rusty@rustcorp.com.au>
> Cc: "Michael S. Tsirkin" <mst@redhat.com>
> Cc: Shreyas Bhatewara <sbhatewara@vmware.com>
> Cc: "VMware, Inc." <pv-drivers@vmware.com>
> Cc: Francois Romieu <romieu@fr.zoreil.com>
> Cc: Krzysztof Halasa <khc@pm.waw.pl>
> Cc: "John W. Linville" <linville@tuxdriver.com>
> Cc: Jiri Slaby <jirislaby@gmail.com>
> Cc: Nick Kossifidis <mickflemm@gmail.com>
> Cc: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>
> Cc: Simon Kelley <simon@thekelleys.org.uk>
> Cc: Stefano Brivio <stefano.brivio@polimi.it>
> Cc: Stanislav Yakovlev <stas.yakovlev@gmail.com>
> Cc: Dan Williams <dcbw@redhat.com>
> Cc: Christian Lamparter <chunkeey@googlemail.com>
> Cc: Herton Ronaldo Krzesinski <herton@canonical.com>
> Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
> Cc: Larry Finger <Larry.Finger@lwfinger.net>
> Cc: Luciano Coelho <coelho@ti.com>
> Cc: netdev@vger.kernel.org
> Cc: linux-can@vger.kernel.org
> Cc: linux-hippi@sunsite.dk
> Cc: virtualization@lists.linux-foundation.org
> Cc: linux-wireless@vger.kernel.org
> Cc: ath5k-devel@lists.ath5k.org
> Cc: b43-dev@lists.infradead.org
> Cc: libertas-dev@lists.infradead.org
> Cc: xen-devel@lists.xensource.com
ACKed-by: Larry Finger <Larry.Finger.net> for the rtl8187 part.
> ---
> drivers/net/arcnet/com20020-pci.c | 2 +-
> drivers/net/can/at91_can.c | 2 +-
> drivers/net/can/bfin_can.c | 2 +-
> drivers/net/can/c_can/c_can_pci.c | 2 +-
> drivers/net/can/c_can/c_can_platform.c | 2 +-
> drivers/net/can/cc770/cc770_isa.c | 2 +-
> drivers/net/can/cc770/cc770_platform.c | 2 +-
> drivers/net/can/flexcan.c | 4 ++--
> drivers/net/can/janz-ican3.c | 6 +++---
> drivers/net/can/mcp251x.c | 2 +-
> drivers/net/can/mscan/mpc5xxx_can.c | 2 +-
> drivers/net/can/pch_can.c | 2 +-
> drivers/net/can/sja1000/kvaser_pci.c | 2 +-
> drivers/net/can/sja1000/peak_pci.c | 2 +-
> drivers/net/can/sja1000/sja1000_isa.c | 2 +-
> drivers/net/can/sja1000/sja1000_of_platform.c | 2 +-
> drivers/net/can/sja1000/tscan1.c | 2 +-
> drivers/net/can/softing/softing_cs.c | 2 +-
> drivers/net/can/softing/softing_main.c | 2 +-
> drivers/net/can/ti_hecc.c | 2 +-
> drivers/net/fddi/defxx.c | 14 +++++++-------
> drivers/net/fddi/skfp/skfddi.c | 2 +-
> drivers/net/hippi/rrunner.c | 2 +-
> drivers/net/ieee802154/at86rf230.c | 2 +-
> drivers/net/ieee802154/fakehard.c | 2 +-
> drivers/net/ieee802154/fakelb.c | 2 +-
> drivers/net/ieee802154/mrf24j40.c | 2 +-
> drivers/net/irda/au1k_ir.c | 2 +-
> drivers/net/irda/bfin_sir.c | 2 +-
> drivers/net/irda/sh_irda.c | 2 +-
> drivers/net/irda/sh_sir.c | 2 +-
> drivers/net/irda/via-ircc.c | 4 ++--
> drivers/net/irda/vlsi_ir.c | 2 +-
> drivers/net/phy/mdio-gpio.c | 4 ++--
> drivers/net/phy/mdio-mux-gpio.c | 2 +-
> drivers/net/phy/mdio-mux-mmioreg.c | 2 +-
> drivers/net/phy/mdio-octeon.c | 2 +-
> drivers/net/phy/spi_ks8995.c | 2 +-
> drivers/net/virtio_net.c | 2 +-
> drivers/net/vmxnet3/vmxnet3_drv.c | 2 +-
> drivers/net/wan/dscc4.c | 2 +-
> drivers/net/wan/farsync.c | 2 +-
> drivers/net/wan/ixp4xx_hss.c | 2 +-
> drivers/net/wan/lmc/lmc_main.c | 2 +-
> drivers/net/wireless/adm8211.c | 2 +-
> drivers/net/wireless/airo.c | 2 +-
> drivers/net/wireless/ath/ath5k/pci.c | 2 +-
> drivers/net/wireless/atmel_pci.c | 2 +-
> drivers/net/wireless/b43/pcmcia.c | 2 +-
> drivers/net/wireless/b43/sdio.c | 2 +-
> drivers/net/wireless/ipw2x00/ipw2100.c | 2 +-
> drivers/net/wireless/ipw2x00/ipw2200.c | 2 +-
> drivers/net/wireless/iwlegacy/3945-mac.c | 2 +-
> drivers/net/wireless/iwlegacy/4965-mac.c | 2 +-
> drivers/net/wireless/iwlwifi/pcie/drv.c | 2 +-
> drivers/net/wireless/libertas/if_spi.c | 2 +-
> drivers/net/wireless/mwl8k.c | 4 ++--
> drivers/net/wireless/orinoco/orinoco_nortel.c | 2 +-
> drivers/net/wireless/orinoco/orinoco_pci.c | 2 +-
> drivers/net/wireless/orinoco/orinoco_plx.c | 2 +-
> drivers/net/wireless/orinoco/orinoco_tmd.c | 2 +-
> drivers/net/wireless/p54/p54pci.c | 2 +-
> drivers/net/wireless/p54/p54spi.c | 2 +-
> drivers/net/wireless/p54/p54usb.c | 2 +-
> drivers/net/wireless/rtl818x/rtl8180/dev.c | 2 +-
> drivers/net/wireless/rtl818x/rtl8187/dev.c | 2 +-
> drivers/net/wireless/ti/wl1251/sdio.c | 2 +-
> drivers/net/wireless/ti/wl1251/spi.c | 2 +-
> drivers/net/wireless/ti/wlcore/main.c | 2 +-
> drivers/net/wireless/ti/wlcore/sdio.c | 2 +-
> drivers/net/wireless/ti/wlcore/spi.c | 2 +-
> drivers/net/wireless/ti/wlcore/wlcore.h | 2 +-
> drivers/net/xen-netfront.c | 2 +-
> 73 files changed, 85 insertions(+), 85 deletions(-)
>
> diff --git a/drivers/net/arcnet/com20020-pci.c b/drivers/net/arcnet/com20020-pci.c
> index e80f04b..cbc44f5 100644
> --- a/drivers/net/arcnet/com20020-pci.c
> +++ b/drivers/net/arcnet/com20020-pci.c
> @@ -135,7 +135,7 @@ out_dev:
> return err;
> }
>
> -static void __devexit com20020pci_remove(struct pci_dev *pdev)
> +static void com20020pci_remove(struct pci_dev *pdev)
> {
> struct net_device *dev = pci_get_drvdata(pdev);
> unregister_netdev(dev);
> diff --git a/drivers/net/can/at91_can.c b/drivers/net/can/at91_can.c
> index da807f3..e3c4c22 100644
> --- a/drivers/net/can/at91_can.c
> +++ b/drivers/net/can/at91_can.c
> @@ -1338,7 +1338,7 @@ static int at91_can_probe(struct platform_device *pdev)
> return err;
> }
>
> -static int __devexit at91_can_remove(struct platform_device *pdev)
> +static int at91_can_remove(struct platform_device *pdev)
> {
> struct net_device *dev = platform_get_drvdata(pdev);
> struct at91_priv *priv = netdev_priv(dev);
> diff --git a/drivers/net/can/bfin_can.c b/drivers/net/can/bfin_can.c
> index 16515e3..6918334 100644
> --- a/drivers/net/can/bfin_can.c
> +++ b/drivers/net/can/bfin_can.c
> @@ -611,7 +611,7 @@ exit:
> return err;
> }
>
> -static int __devexit bfin_can_remove(struct platform_device *pdev)
> +static int bfin_can_remove(struct platform_device *pdev)
> {
> struct net_device *dev = dev_get_drvdata(&pdev->dev);
> struct bfin_can_priv *priv = netdev_priv(dev);
> diff --git a/drivers/net/can/c_can/c_can_pci.c b/drivers/net/can/c_can/c_can_pci.c
> index 27db0f2..a1f2631 100644
> --- a/drivers/net/can/c_can/c_can_pci.c
> +++ b/drivers/net/can/c_can/c_can_pci.c
> @@ -174,7 +174,7 @@ out:
> return ret;
> }
>
> -static void __devexit c_can_pci_remove(struct pci_dev *pdev)
> +static void c_can_pci_remove(struct pci_dev *pdev)
> {
> struct net_device *dev = pci_get_drvdata(pdev);
> struct c_can_priv *priv = netdev_priv(dev);
> diff --git a/drivers/net/can/c_can/c_can_platform.c b/drivers/net/can/c_can/c_can_platform.c
> index 91e7d2b..f133951 100644
> --- a/drivers/net/can/c_can/c_can_platform.c
> +++ b/drivers/net/can/c_can/c_can_platform.c
> @@ -220,7 +220,7 @@ exit:
> return ret;
> }
>
> -static int __devexit c_can_plat_remove(struct platform_device *pdev)
> +static int c_can_plat_remove(struct platform_device *pdev)
> {
> struct net_device *dev = platform_get_drvdata(pdev);
> struct c_can_priv *priv = netdev_priv(dev);
> diff --git a/drivers/net/can/cc770/cc770_isa.c b/drivers/net/can/cc770/cc770_isa.c
> index bed9d19..8eaaac8 100644
> --- a/drivers/net/can/cc770/cc770_isa.c
> +++ b/drivers/net/can/cc770/cc770_isa.c
> @@ -291,7 +291,7 @@ static int cc770_isa_probe(struct platform_device *pdev)
> return err;
> }
>
> -static int __devexit cc770_isa_remove(struct platform_device *pdev)
> +static int cc770_isa_remove(struct platform_device *pdev)
> {
> struct net_device *dev = dev_get_drvdata(&pdev->dev);
> struct cc770_priv *priv = netdev_priv(dev);
> diff --git a/drivers/net/can/cc770/cc770_platform.c b/drivers/net/can/cc770/cc770_platform.c
> index caf4d70..4af9f4e 100644
> --- a/drivers/net/can/cc770/cc770_platform.c
> +++ b/drivers/net/can/cc770/cc770_platform.c
> @@ -237,7 +237,7 @@ exit_release_mem:
> return err;
> }
>
> -static int __devexit cc770_platform_remove(struct platform_device *pdev)
> +static int cc770_platform_remove(struct platform_device *pdev)
> {
> struct net_device *dev = dev_get_drvdata(&pdev->dev);
> struct cc770_priv *priv = netdev_priv(dev);
> diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
> index dd3c933..dc31c78 100644
> --- a/drivers/net/can/flexcan.c
> +++ b/drivers/net/can/flexcan.c
> @@ -968,7 +968,7 @@ static int register_flexcandev(struct net_device *dev)
> return err;
> }
>
> -static void __devexit unregister_flexcandev(struct net_device *dev)
> +static void unregister_flexcandev(struct net_device *dev)
> {
> unregister_candev(dev);
> }
> @@ -1107,7 +1107,7 @@ static int flexcan_probe(struct platform_device *pdev)
> return err;
> }
>
> -static int __devexit flexcan_remove(struct platform_device *pdev)
> +static int flexcan_remove(struct platform_device *pdev)
> {
> struct net_device *dev = platform_get_drvdata(pdev);
> struct flexcan_priv *priv = netdev_priv(dev);
> diff --git a/drivers/net/can/janz-ican3.c b/drivers/net/can/janz-ican3.c
> index 6eb1916..e7d69a4 100644
> --- a/drivers/net/can/janz-ican3.c
> +++ b/drivers/net/can/janz-ican3.c
> @@ -642,7 +642,7 @@ static int ican3_msg_connect(struct ican3_dev *mod)
> return ican3_send_msg(mod, &msg);
> }
>
> -static int __devexit ican3_msg_disconnect(struct ican3_dev *mod)
> +static int ican3_msg_disconnect(struct ican3_dev *mod)
> {
> struct ican3_msg msg;
>
> @@ -1421,7 +1421,7 @@ static int ican3_reset_module(struct ican3_dev *mod)
> return -ETIMEDOUT;
> }
>
> -static void __devexit ican3_shutdown_module(struct ican3_dev *mod)
> +static void ican3_shutdown_module(struct ican3_dev *mod)
> {
> ican3_msg_disconnect(mod);
> ican3_reset_module(mod);
> @@ -1898,7 +1898,7 @@ out_return:
> return ret;
> }
>
> -static int __devexit ican3_remove(struct platform_device *pdev)
> +static int ican3_remove(struct platform_device *pdev)
> {
> struct net_device *ndev = platform_get_drvdata(pdev);
> struct ican3_dev *mod = netdev_priv(ndev);
> diff --git a/drivers/net/can/mcp251x.c b/drivers/net/can/mcp251x.c
> index 767fdbd..5eaf47b 100644
> --- a/drivers/net/can/mcp251x.c
> +++ b/drivers/net/can/mcp251x.c
> @@ -1100,7 +1100,7 @@ error_out:
> return ret;
> }
>
> -static int __devexit mcp251x_can_remove(struct spi_device *spi)
> +static int mcp251x_can_remove(struct spi_device *spi)
> {
> struct mcp251x_platform_data *pdata = spi->dev.platform_data;
> struct mcp251x_priv *priv = dev_get_drvdata(&spi->dev);
> diff --git a/drivers/net/can/mscan/mpc5xxx_can.c b/drivers/net/can/mscan/mpc5xxx_can.c
> index 508cbad..12e130a 100644
> --- a/drivers/net/can/mscan/mpc5xxx_can.c
> +++ b/drivers/net/can/mscan/mpc5xxx_can.c
> @@ -323,7 +323,7 @@ exit_unmap_mem:
> return err;
> }
>
> -static int __devexit mpc5xxx_can_remove(struct platform_device *ofdev)
> +static int mpc5xxx_can_remove(struct platform_device *ofdev)
> {
> struct net_device *dev = dev_get_drvdata(&ofdev->dev);
> struct mscan_priv *priv = netdev_priv(dev);
> diff --git a/drivers/net/can/pch_can.c b/drivers/net/can/pch_can.c
> index fad4625..7d17485 100644
> --- a/drivers/net/can/pch_can.c
> +++ b/drivers/net/can/pch_can.c
> @@ -954,7 +954,7 @@ static const struct net_device_ops pch_can_netdev_ops = {
> .ndo_start_xmit = pch_xmit,
> };
>
> -static void __devexit pch_can_remove(struct pci_dev *pdev)
> +static void pch_can_remove(struct pci_dev *pdev)
> {
> struct net_device *ndev = pci_get_drvdata(pdev);
> struct pch_can_priv *priv = netdev_priv(ndev);
> diff --git a/drivers/net/can/sja1000/kvaser_pci.c b/drivers/net/can/sja1000/kvaser_pci.c
> index a6191ac..4efdaf2 100644
> --- a/drivers/net/can/sja1000/kvaser_pci.c
> +++ b/drivers/net/can/sja1000/kvaser_pci.c
> @@ -379,7 +379,7 @@ failure:
>
> }
>
> -static void __devexit kvaser_pci_remove_one(struct pci_dev *pdev)
> +static void kvaser_pci_remove_one(struct pci_dev *pdev)
> {
> struct net_device *dev = pci_get_drvdata(pdev);
>
> diff --git a/drivers/net/can/sja1000/peak_pci.c b/drivers/net/can/sja1000/peak_pci.c
> index fbf61cf..3faeb3d 100644
> --- a/drivers/net/can/sja1000/peak_pci.c
> +++ b/drivers/net/can/sja1000/peak_pci.c
> @@ -717,7 +717,7 @@ failure_disable_pci:
> return err;
> }
>
> -static void __devexit peak_pci_remove(struct pci_dev *pdev)
> +static void peak_pci_remove(struct pci_dev *pdev)
> {
> struct net_device *dev = pci_get_drvdata(pdev); /* Last device */
> struct sja1000_priv *priv = netdev_priv(dev);
> diff --git a/drivers/net/can/sja1000/sja1000_isa.c b/drivers/net/can/sja1000/sja1000_isa.c
> index a872f24..5c8da46 100644
> --- a/drivers/net/can/sja1000/sja1000_isa.c
> +++ b/drivers/net/can/sja1000/sja1000_isa.c
> @@ -223,7 +223,7 @@ static int sja1000_isa_probe(struct platform_device *pdev)
> return err;
> }
>
> -static int __devexit sja1000_isa_remove(struct platform_device *pdev)
> +static int sja1000_isa_remove(struct platform_device *pdev)
> {
> struct net_device *dev = dev_get_drvdata(&pdev->dev);
> struct sja1000_priv *priv = netdev_priv(dev);
> diff --git a/drivers/net/can/sja1000/sja1000_of_platform.c b/drivers/net/can/sja1000/sja1000_of_platform.c
> index 1ca0ee1..a7b0152 100644
> --- a/drivers/net/can/sja1000/sja1000_of_platform.c
> +++ b/drivers/net/can/sja1000/sja1000_of_platform.c
> @@ -68,7 +68,7 @@ static void sja1000_ofp_write_reg(const struct sja1000_priv *priv,
> out_8(priv->reg_base + reg, val);
> }
>
> -static int __devexit sja1000_ofp_remove(struct platform_device *ofdev)
> +static int sja1000_ofp_remove(struct platform_device *ofdev)
> {
> struct net_device *dev = dev_get_drvdata(&ofdev->dev);
> struct sja1000_priv *priv = netdev_priv(dev);
> diff --git a/drivers/net/can/sja1000/tscan1.c b/drivers/net/can/sja1000/tscan1.c
> index 6a6db7e..76513dd 100644
> --- a/drivers/net/can/sja1000/tscan1.c
> +++ b/drivers/net/can/sja1000/tscan1.c
> @@ -171,7 +171,7 @@ static int tscan1_probe(struct device *dev, unsigned id)
> return -ENXIO;
> }
>
> -static int __devexit tscan1_remove(struct device *dev, unsigned id /*unused*/)
> +static int tscan1_remove(struct device *dev, unsigned id /*unused*/)
> {
> struct net_device *netdev;
> struct sja1000_priv *priv;
> diff --git a/drivers/net/can/softing/softing_cs.c b/drivers/net/can/softing/softing_cs.c
> index 04e1539..ce18ba5 100644
> --- a/drivers/net/can/softing/softing_cs.c
> +++ b/drivers/net/can/softing/softing_cs.c
> @@ -215,7 +215,7 @@ static int softingcs_probe_config(struct pcmcia_device *pcmcia,
> return pcmcia_request_window(pcmcia, pres, memspeed);
> }
>
> -static __devexit void softingcs_remove(struct pcmcia_device *pcmcia)
> +static void softingcs_remove(struct pcmcia_device *pcmcia)
> {
> struct platform_device *pdev = pcmcia->priv;
>
> diff --git a/drivers/net/can/softing/softing_main.c b/drivers/net/can/softing/softing_main.c
> index aefd297..50b1e0f 100644
> --- a/drivers/net/can/softing/softing_main.c
> +++ b/drivers/net/can/softing/softing_main.c
> @@ -745,7 +745,7 @@ static const struct attribute_group softing_pdev_group = {
> /*
> * platform driver
> */
> -static __devexit int softing_pdev_remove(struct platform_device *pdev)
> +static int softing_pdev_remove(struct platform_device *pdev)
> {
> struct softing *card = platform_get_drvdata(pdev);
> int j;
> diff --git a/drivers/net/can/ti_hecc.c b/drivers/net/can/ti_hecc.c
> index 80ee814..b5e1683 100644
> --- a/drivers/net/can/ti_hecc.c
> +++ b/drivers/net/can/ti_hecc.c
> @@ -978,7 +978,7 @@ probe_exit:
> return err;
> }
>
> -static int __devexit ti_hecc_remove(struct platform_device *pdev)
> +static int ti_hecc_remove(struct platform_device *pdev)
> {
> struct resource *res;
> struct net_device *ndev = platform_get_drvdata(pdev);
> diff --git a/drivers/net/fddi/defxx.c b/drivers/net/fddi/defxx.c
> index fd58f0b..3c8aab7 100644
> --- a/drivers/net/fddi/defxx.c
> +++ b/drivers/net/fddi/defxx.c
> @@ -809,7 +809,7 @@ static void dfx_bus_init(struct net_device *dev)
> * Interrupts are disabled at the adapter bus-specific logic.
> */
>
> -static void __devexit dfx_bus_uninit(struct net_device *dev)
> +static void dfx_bus_uninit(struct net_device *dev)
> {
> DFX_board_t *bp = netdev_priv(dev);
> struct device *bdev = bp->bus_dev;
> @@ -3579,7 +3579,7 @@ static void dfx_xmt_flush( DFX_board_t *bp )
> * Device structures for FDDI adapters (fddi0, fddi1, etc) are
> * freed.
> */
> -static void __devexit dfx_unregister(struct device *bdev)
> +static void dfx_unregister(struct device *bdev)
> {
> struct net_device *dev = dev_get_drvdata(bdev);
> DFX_board_t *bp = netdev_priv(dev);
> @@ -3620,12 +3620,12 @@ static void __devexit dfx_unregister(struct device *bdev)
>
>
> static int __maybe_unused dfx_dev_register(struct device *);
> -static int __devexit __maybe_unused dfx_dev_unregister(struct device *);
> +static int __maybe_unused dfx_dev_unregister(struct device *);
>
> #ifdef CONFIG_PCI
> static int dfx_pci_register(struct pci_dev *,
> const struct pci_device_id *);
> -static void __devexit dfx_pci_unregister(struct pci_dev *);
> +static void dfx_pci_unregister(struct pci_dev *);
>
> static DEFINE_PCI_DEVICE_TABLE(dfx_pci_table) = {
> { PCI_DEVICE(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_FDDI) },
> @@ -3646,7 +3646,7 @@ static int dfx_pci_register(struct pci_dev *pdev,
> return dfx_register(&pdev->dev);
> }
>
> -static void __devexit dfx_pci_unregister(struct pci_dev *pdev)
> +static void dfx_pci_unregister(struct pci_dev *pdev)
> {
> dfx_unregister(&pdev->dev);
> }
> @@ -3704,7 +3704,7 @@ static int __maybe_unused dfx_dev_register(struct device *dev)
> return status;
> }
>
> -static int __devexit __maybe_unused dfx_dev_unregister(struct device *dev)
> +static int __maybe_unused dfx_dev_unregister(struct device *dev)
> {
> put_device(dev);
> dfx_unregister(dev);
> @@ -3724,7 +3724,7 @@ static int dfx_init(void)
> return status;
> }
>
> -static void __devexit dfx_cleanup(void)
> +static void dfx_cleanup(void)
> {
> tc_unregister_driver(&dfx_tc_driver);
> eisa_driver_unregister(&dfx_eisa_driver);
> diff --git a/drivers/net/fddi/skfp/skfddi.c b/drivers/net/fddi/skfp/skfddi.c
> index cbabb74..d5bd563 100644
> --- a/drivers/net/fddi/skfp/skfddi.c
> +++ b/drivers/net/fddi/skfp/skfddi.c
> @@ -321,7 +321,7 @@ err_out1:
> /*
> * Called for each adapter board from pci_unregister_driver
> */
> -static void __devexit skfp_remove_one(struct pci_dev *pdev)
> +static void skfp_remove_one(struct pci_dev *pdev)
> {
> struct net_device *p = pci_get_drvdata(pdev);
> struct s_smc *lp = netdev_priv(p);
> diff --git a/drivers/net/hippi/rrunner.c b/drivers/net/hippi/rrunner.c
> index 12b7ff9..6be95ed 100644
> --- a/drivers/net/hippi/rrunner.c
> +++ b/drivers/net/hippi/rrunner.c
> @@ -221,7 +221,7 @@ static int rr_init_one(struct pci_dev *pdev,
> return ret;
> }
>
> -static void __devexit rr_remove_one (struct pci_dev *pdev)
> +static void rr_remove_one (struct pci_dev *pdev)
> {
> struct net_device *dev = pci_get_drvdata(pdev);
> struct rr_private *rr = netdev_priv(dev);
> diff --git a/drivers/net/ieee802154/at86rf230.c b/drivers/net/ieee802154/at86rf230.c
> index 1198c6b..a4a62e1 100644
> --- a/drivers/net/ieee802154/at86rf230.c
> +++ b/drivers/net/ieee802154/at86rf230.c
> @@ -920,7 +920,7 @@ err_fill:
> return rc;
> }
>
> -static int __devexit at86rf230_remove(struct spi_device *spi)
> +static int at86rf230_remove(struct spi_device *spi)
> {
> struct at86rf230_local *lp = spi_get_drvdata(spi);
>
> diff --git a/drivers/net/ieee802154/fakehard.c b/drivers/net/ieee802154/fakehard.c
> index fd0438c..1e9cb0b 100644
> --- a/drivers/net/ieee802154/fakehard.c
> +++ b/drivers/net/ieee802154/fakehard.c
> @@ -412,7 +412,7 @@ out:
> return err;
> }
>
> -static int __devexit ieee802154fake_remove(struct platform_device *pdev)
> +static int ieee802154fake_remove(struct platform_device *pdev)
> {
> struct net_device *dev = platform_get_drvdata(pdev);
> unregister_netdev(dev);
> diff --git a/drivers/net/ieee802154/fakelb.c b/drivers/net/ieee802154/fakelb.c
> index e4b0e38..b8d2217 100644
> --- a/drivers/net/ieee802154/fakelb.c
> +++ b/drivers/net/ieee802154/fakelb.c
> @@ -253,7 +253,7 @@ err_alloc:
> return err;
> }
>
> -static int __devexit fakelb_remove(struct platform_device *pdev)
> +static int fakelb_remove(struct platform_device *pdev)
> {
> struct fakelb_priv *priv = platform_get_drvdata(pdev);
> struct fakelb_dev_priv *dp, *temp;
> diff --git a/drivers/net/ieee802154/mrf24j40.c b/drivers/net/ieee802154/mrf24j40.c
> index ef41051..3f2c7aa 100644
> --- a/drivers/net/ieee802154/mrf24j40.c
> +++ b/drivers/net/ieee802154/mrf24j40.c
> @@ -711,7 +711,7 @@ err_devrec:
> return ret;
> }
>
> -static int __devexit mrf24j40_remove(struct spi_device *spi)
> +static int mrf24j40_remove(struct spi_device *spi)
> {
> struct mrf24j40 *devrec = dev_get_drvdata(&spi->dev);
>
> diff --git a/drivers/net/irda/au1k_ir.c b/drivers/net/irda/au1k_ir.c
> index 7843f50..b5151e4 100644
> --- a/drivers/net/irda/au1k_ir.c
> +++ b/drivers/net/irda/au1k_ir.c
> @@ -921,7 +921,7 @@ out:
> return err;
> }
>
> -static int __devexit au1k_irda_remove(struct platform_device *pdev)
> +static int au1k_irda_remove(struct platform_device *pdev)
> {
> struct net_device *dev = platform_get_drvdata(pdev);
> struct au1k_private *aup = netdev_priv(dev);
> diff --git a/drivers/net/irda/bfin_sir.c b/drivers/net/irda/bfin_sir.c
> index 98c903f..fed4a05 100644
> --- a/drivers/net/irda/bfin_sir.c
> +++ b/drivers/net/irda/bfin_sir.c
> @@ -775,7 +775,7 @@ err_mem_0:
> return err;
> }
>
> -static int __devexit bfin_sir_remove(struct platform_device *pdev)
> +static int bfin_sir_remove(struct platform_device *pdev)
> {
> struct bfin_sir_port *sir_port;
> struct net_device *dev = NULL;
> diff --git a/drivers/net/irda/sh_irda.c b/drivers/net/irda/sh_irda.c
> index 2d3f3e6..9448587 100644
> --- a/drivers/net/irda/sh_irda.c
> +++ b/drivers/net/irda/sh_irda.c
> @@ -825,7 +825,7 @@ exit:
> return err;
> }
>
> -static int __devexit sh_irda_remove(struct platform_device *pdev)
> +static int sh_irda_remove(struct platform_device *pdev)
> {
> struct net_device *ndev = platform_get_drvdata(pdev);
> struct sh_irda_self *self = netdev_priv(ndev);
> diff --git a/drivers/net/irda/sh_sir.c b/drivers/net/irda/sh_sir.c
> index 150b56c..24aefcd 100644
> --- a/drivers/net/irda/sh_sir.c
> +++ b/drivers/net/irda/sh_sir.c
> @@ -783,7 +783,7 @@ exit:
> return err;
> }
>
> -static int __devexit sh_sir_remove(struct platform_device *pdev)
> +static int sh_sir_remove(struct platform_device *pdev)
> {
> struct net_device *ndev = platform_get_drvdata(pdev);
> struct sh_sir_self *self = netdev_priv(ndev);
> diff --git a/drivers/net/irda/via-ircc.c b/drivers/net/irda/via-ircc.c
> index d678f52..5488247 100644
> --- a/drivers/net/irda/via-ircc.c
> +++ b/drivers/net/irda/via-ircc.c
> @@ -103,7 +103,7 @@ static void hwreset(struct via_ircc_cb *self);
> static int via_ircc_dma_xmit(struct via_ircc_cb *self, u16 iobase);
> static int upload_rxdata(struct via_ircc_cb *self, int iobase);
> static int via_init_one (struct pci_dev *pcidev, const struct pci_device_id *id);
> -static void __devexit via_remove_one (struct pci_dev *pdev);
> +static void via_remove_one (struct pci_dev *pdev);
>
> /* FIXME : Should use udelay() instead, even if we are x86 only - Jean II */
> static void iodelay(int udelay)
> @@ -424,7 +424,7 @@ static int via_ircc_open(struct pci_dev *pdev, chipio_t * info,
> * Close driver instance
> *
> */
> -static void __devexit via_remove_one(struct pci_dev *pdev)
> +static void via_remove_one(struct pci_dev *pdev)
> {
> struct via_ircc_cb *self = pci_get_drvdata(pdev);
> int iobase;
> diff --git a/drivers/net/irda/vlsi_ir.c b/drivers/net/irda/vlsi_ir.c
> index e255b65..2f99f88 100644
> --- a/drivers/net/irda/vlsi_ir.c
> +++ b/drivers/net/irda/vlsi_ir.c
> @@ -1699,7 +1699,7 @@ out:
> return -ENODEV;
> }
>
> -static void __devexit vlsi_irda_remove(struct pci_dev *pdev)
> +static void vlsi_irda_remove(struct pci_dev *pdev)
> {
> struct net_device *ndev = pci_get_drvdata(pdev);
> vlsi_irda_dev_t *idev;
> diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
> index bf30b1d..6b2fdb8 100644
> --- a/drivers/net/phy/mdio-gpio.c
> +++ b/drivers/net/phy/mdio-gpio.c
> @@ -173,7 +173,7 @@ static void mdio_gpio_bus_deinit(struct device *dev)
> kfree(bitbang);
> }
>
> -static void __devexit mdio_gpio_bus_destroy(struct device *dev)
> +static void mdio_gpio_bus_destroy(struct device *dev)
> {
> struct mii_bus *bus = dev_get_drvdata(dev);
>
> @@ -210,7 +210,7 @@ static int mdio_gpio_probe(struct platform_device *pdev)
> return ret;
> }
>
> -static int __devexit mdio_gpio_remove(struct platform_device *pdev)
> +static int mdio_gpio_remove(struct platform_device *pdev)
> {
> mdio_gpio_bus_destroy(&pdev->dev);
>
> diff --git a/drivers/net/phy/mdio-mux-gpio.c b/drivers/net/phy/mdio-mux-gpio.c
> index 23ee064..0c9accb 100644
> --- a/drivers/net/phy/mdio-mux-gpio.c
> +++ b/drivers/net/phy/mdio-mux-gpio.c
> @@ -104,7 +104,7 @@ err:
> return r;
> }
>
> -static int __devexit mdio_mux_gpio_remove(struct platform_device *pdev)
> +static int mdio_mux_gpio_remove(struct platform_device *pdev)
> {
> struct mdio_mux_gpio_state *s = pdev->dev.platform_data;
> mdio_mux_uninit(s->mux_handle);
> diff --git a/drivers/net/phy/mdio-mux-mmioreg.c b/drivers/net/phy/mdio-mux-mmioreg.c
> index a38951f..9733bd2 100644
> --- a/drivers/net/phy/mdio-mux-mmioreg.c
> +++ b/drivers/net/phy/mdio-mux-mmioreg.c
> @@ -137,7 +137,7 @@ static int mdio_mux_mmioreg_probe(struct platform_device *pdev)
> return 0;
> }
>
> -static int __devexit mdio_mux_mmioreg_remove(struct platform_device *pdev)
> +static int mdio_mux_mmioreg_remove(struct platform_device *pdev)
> {
> struct mdio_mux_mmioreg_state *s = dev_get_platdata(&pdev->dev);
>
> diff --git a/drivers/net/phy/mdio-octeon.c b/drivers/net/phy/mdio-octeon.c
> index 7a07985..09297fe 100644
> --- a/drivers/net/phy/mdio-octeon.c
> +++ b/drivers/net/phy/mdio-octeon.c
> @@ -159,7 +159,7 @@ fail:
> return err;
> }
>
> -static int __devexit octeon_mdiobus_remove(struct platform_device *pdev)
> +static int octeon_mdiobus_remove(struct platform_device *pdev)
> {
> struct octeon_mdiobus *bus;
> union cvmx_smix_en smi_en;
> diff --git a/drivers/net/phy/spi_ks8995.c b/drivers/net/phy/spi_ks8995.c
> index 1321c99..41eb8ff 100644
> --- a/drivers/net/phy/spi_ks8995.c
> +++ b/drivers/net/phy/spi_ks8995.c
> @@ -332,7 +332,7 @@ err_drvdata:
> return err;
> }
>
> -static int __devexit ks8995_remove(struct spi_device *spi)
> +static int ks8995_remove(struct spi_device *spi)
> {
> struct ks8995_data *ks8995;
>
> diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
> index b0c1630..c5f0ed2 100644
> --- a/drivers/net/virtio_net.c
> +++ b/drivers/net/virtio_net.c
> @@ -1195,7 +1195,7 @@ static void remove_vq_common(struct virtnet_info *vi)
> __free_pages(get_a_page(vi, GFP_KERNEL), 0);
> }
>
> -static void __devexit virtnet_remove(struct virtio_device *vdev)
> +static void virtnet_remove(struct virtio_device *vdev)
> {
> struct virtnet_info *vi = vdev->priv;
>
> diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet3_drv.c
> index ac322e5..71b762f 100644
> --- a/drivers/net/vmxnet3/vmxnet3_drv.c
> +++ b/drivers/net/vmxnet3/vmxnet3_drv.c
> @@ -3096,7 +3096,7 @@ err_alloc_shared:
> }
>
>
> -static void __devexit
> +static void
> vmxnet3_remove_device(struct pci_dev *pdev)
> {
> struct net_device *netdev = pci_get_drvdata(pdev);
> diff --git a/drivers/net/wan/dscc4.c b/drivers/net/wan/dscc4.c
> index 863df17..d502230 100644
> --- a/drivers/net/wan/dscc4.c
> +++ b/drivers/net/wan/dscc4.c
> @@ -1968,7 +1968,7 @@ err_out:
> return -ENOMEM;
> }
>
> -static void __devexit dscc4_remove_one(struct pci_dev *pdev)
> +static void dscc4_remove_one(struct pci_dev *pdev)
> {
> struct dscc4_pci_priv *ppriv;
> struct dscc4_dev_priv *root;
> diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c
> index dbbe06e..d7adba4 100644
> --- a/drivers/net/wan/farsync.c
> +++ b/drivers/net/wan/farsync.c
> @@ -2615,7 +2615,7 @@ fst_add_one(struct pci_dev *pdev, const struct pci_device_id *ent)
> /*
> * Cleanup and close down a card
> */
> -static void __devexit
> +static void
> fst_remove_one(struct pci_dev *pdev)
> {
> struct fst_card_info *card;
> diff --git a/drivers/net/wan/ixp4xx_hss.c b/drivers/net/wan/ixp4xx_hss.c
> index beecbe8..b056691 100644
> --- a/drivers/net/wan/ixp4xx_hss.c
> +++ b/drivers/net/wan/ixp4xx_hss.c
> @@ -1375,7 +1375,7 @@ err_free:
> return err;
> }
>
> -static int __devexit hss_remove_one(struct platform_device *pdev)
> +static int hss_remove_one(struct platform_device *pdev)
> {
> struct port *port = platform_get_drvdata(pdev);
>
> diff --git a/drivers/net/wan/lmc/lmc_main.c b/drivers/net/wan/lmc/lmc_main.c
> index 41a401a..0e443fd 100644
> --- a/drivers/net/wan/lmc/lmc_main.c
> +++ b/drivers/net/wan/lmc/lmc_main.c
> @@ -986,7 +986,7 @@ err_req_io:
> /*
> * Called from pci when removing module.
> */
> -static void __devexit lmc_remove_one(struct pci_dev *pdev)
> +static void lmc_remove_one(struct pci_dev *pdev)
> {
> struct net_device *dev = pci_get_drvdata(pdev);
>
> diff --git a/drivers/net/wireless/adm8211.c b/drivers/net/wireless/adm8211.c
> index bd89a29..3d339e0 100644
> --- a/drivers/net/wireless/adm8211.c
> +++ b/drivers/net/wireless/adm8211.c
> @@ -1935,7 +1935,7 @@ static int adm8211_probe(struct pci_dev *pdev,
> }
>
>
> -static void __devexit adm8211_remove(struct pci_dev *pdev)
> +static void adm8211_remove(struct pci_dev *pdev)
> {
> struct ieee80211_hw *dev = pci_get_drvdata(pdev);
> struct adm8211_priv *priv;
> diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
> index b010f41..5329541 100644
> --- a/drivers/net/wireless/airo.c
> +++ b/drivers/net/wireless/airo.c
> @@ -5606,7 +5606,7 @@ static int airo_pci_probe(struct pci_dev *pdev,
> return 0;
> }
>
> -static void __devexit airo_pci_remove(struct pci_dev *pdev)
> +static void airo_pci_remove(struct pci_dev *pdev)
> {
> struct net_device *dev = pci_get_drvdata(pdev);
>
> diff --git a/drivers/net/wireless/ath/ath5k/pci.c b/drivers/net/wireless/ath/ath5k/pci.c
> index 1a78ba3..859db7c 100644
> --- a/drivers/net/wireless/ath/ath5k/pci.c
> +++ b/drivers/net/wireless/ath/ath5k/pci.c
> @@ -285,7 +285,7 @@ err:
> return ret;
> }
>
> -static void __devexit
> +static void
> ath5k_pci_remove(struct pci_dev *pdev)
> {
> struct ieee80211_hw *hw = pci_get_drvdata(pdev);
> diff --git a/drivers/net/wireless/atmel_pci.c b/drivers/net/wireless/atmel_pci.c
> index 1c12fec..c1b159e 100644
> --- a/drivers/net/wireless/atmel_pci.c
> +++ b/drivers/net/wireless/atmel_pci.c
> @@ -69,7 +69,7 @@ static int atmel_pci_probe(struct pci_dev *pdev,
> return 0;
> }
>
> -static void __devexit atmel_pci_remove(struct pci_dev *pdev)
> +static void atmel_pci_remove(struct pci_dev *pdev)
> {
> stop_atmel_card(pci_get_drvdata(pdev));
> }
> diff --git a/drivers/net/wireless/b43/pcmcia.c b/drivers/net/wireless/b43/pcmcia.c
> index 3506cca..f2ea2ce 100644
> --- a/drivers/net/wireless/b43/pcmcia.c
> +++ b/drivers/net/wireless/b43/pcmcia.c
> @@ -110,7 +110,7 @@ out_error:
> return err;
> }
>
> -static void __devexit b43_pcmcia_remove(struct pcmcia_device *dev)
> +static void b43_pcmcia_remove(struct pcmcia_device *dev)
> {
> struct ssb_bus *ssb = dev->priv;
>
> diff --git a/drivers/net/wireless/b43/sdio.c b/drivers/net/wireless/b43/sdio.c
> index d2b1f98..59a5218 100644
> --- a/drivers/net/wireless/b43/sdio.c
> +++ b/drivers/net/wireless/b43/sdio.c
> @@ -171,7 +171,7 @@ out:
> return error;
> }
>
> -static void __devexit b43_sdio_remove(struct sdio_func *func)
> +static void b43_sdio_remove(struct sdio_func *func)
> {
> struct b43_sdio *sdio = sdio_get_drvdata(func);
>
> diff --git a/drivers/net/wireless/ipw2x00/ipw2100.c b/drivers/net/wireless/ipw2x00/ipw2100.c
> index b96c615..7588484 100644
> --- a/drivers/net/wireless/ipw2x00/ipw2100.c
> +++ b/drivers/net/wireless/ipw2x00/ipw2100.c
> @@ -6413,7 +6413,7 @@ out:
> goto out;
> }
>
> -static void __devexit ipw2100_pci_remove_one(struct pci_dev *pci_dev)
> +static void ipw2100_pci_remove_one(struct pci_dev *pci_dev)
> {
> struct ipw2100_priv *priv = pci_get_drvdata(pci_dev);
> struct net_device *dev = priv->net_dev;
> diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c
> index 3f099a6..941c6b5 100644
> --- a/drivers/net/wireless/ipw2x00/ipw2200.c
> +++ b/drivers/net/wireless/ipw2x00/ipw2200.c
> @@ -11895,7 +11895,7 @@ static int ipw_pci_probe(struct pci_dev *pdev,
> return err;
> }
>
> -static void __devexit ipw_pci_remove(struct pci_dev *pdev)
> +static void ipw_pci_remove(struct pci_dev *pdev)
> {
> struct ipw_priv *priv = pci_get_drvdata(pdev);
> struct list_head *p, *q;
> diff --git a/drivers/net/wireless/iwlegacy/3945-mac.c b/drivers/net/wireless/iwlegacy/3945-mac.c
> index 88fdd39..d604b40 100644
> --- a/drivers/net/wireless/iwlegacy/3945-mac.c
> +++ b/drivers/net/wireless/iwlegacy/3945-mac.c
> @@ -3794,7 +3794,7 @@ out:
> return err;
> }
>
> -static void __devexit
> +static void
> il3945_pci_remove(struct pci_dev *pdev)
> {
> struct il_priv *il = pci_get_drvdata(pdev);
> diff --git a/drivers/net/wireless/iwlegacy/4965-mac.c b/drivers/net/wireless/iwlegacy/4965-mac.c
> index 14e0a94..569e1ae5 100644
> --- a/drivers/net/wireless/iwlegacy/4965-mac.c
> +++ b/drivers/net/wireless/iwlegacy/4965-mac.c
> @@ -6664,7 +6664,7 @@ out:
> return err;
> }
>
> -static void __devexit
> +static void
> il4965_pci_remove(struct pci_dev *pdev)
> {
> struct il_priv *il = pci_get_drvdata(pdev);
> diff --git a/drivers/net/wireless/iwlwifi/pcie/drv.c b/drivers/net/wireless/iwlwifi/pcie/drv.c
> index 7cb27af..1f21d60 100644
> --- a/drivers/net/wireless/iwlwifi/pcie/drv.c
> +++ b/drivers/net/wireless/iwlwifi/pcie/drv.c
> @@ -294,7 +294,7 @@ out_free_trans:
> return -EFAULT;
> }
>
> -static void __devexit iwl_pci_remove(struct pci_dev *pdev)
> +static void iwl_pci_remove(struct pci_dev *pdev)
> {
> struct iwl_trans *trans = pci_get_drvdata(pdev);
> struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
> diff --git a/drivers/net/wireless/libertas/if_spi.c b/drivers/net/wireless/libertas/if_spi.c
> index abc32e3..4bb6574 100644
> --- a/drivers/net/wireless/libertas/if_spi.c
> +++ b/drivers/net/wireless/libertas/if_spi.c
> @@ -1226,7 +1226,7 @@ out:
> return err;
> }
>
> -static int __devexit libertas_spi_remove(struct spi_device *spi)
> +static int libertas_spi_remove(struct spi_device *spi)
> {
> struct if_spi_card *card = spi_get_drvdata(spi);
> struct lbs_private *priv = card->priv;
> diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c
> index b9f71fd..19cad01 100644
> --- a/drivers/net/wireless/mwl8k.c
> +++ b/drivers/net/wireless/mwl8k.c
> @@ -5872,12 +5872,12 @@ err_disable_device:
> return rc;
> }
>
> -static void __devexit mwl8k_shutdown(struct pci_dev *pdev)
> +static void mwl8k_shutdown(struct pci_dev *pdev)
> {
> printk(KERN_ERR "===>%s(%u)\n", __func__, __LINE__);
> }
>
> -static void __devexit mwl8k_remove(struct pci_dev *pdev)
> +static void mwl8k_remove(struct pci_dev *pdev)
> {
> struct ieee80211_hw *hw = pci_get_drvdata(pdev);
> struct mwl8k_priv *priv;
> diff --git a/drivers/net/wireless/orinoco/orinoco_nortel.c b/drivers/net/wireless/orinoco/orinoco_nortel.c
> index f286540..d73fdf6 100644
> --- a/drivers/net/wireless/orinoco/orinoco_nortel.c
> +++ b/drivers/net/wireless/orinoco/orinoco_nortel.c
> @@ -255,7 +255,7 @@ static int orinoco_nortel_init_one(struct pci_dev *pdev,
> return err;
> }
>
> -static void __devexit orinoco_nortel_remove_one(struct pci_dev *pdev)
> +static void orinoco_nortel_remove_one(struct pci_dev *pdev)
> {
> struct orinoco_private *priv = pci_get_drvdata(pdev);
> struct orinoco_pci_card *card = priv->card;
> diff --git a/drivers/net/wireless/orinoco/orinoco_pci.c b/drivers/net/wireless/orinoco/orinoco_pci.c
> index bf6d436..677bf14 100644
> --- a/drivers/net/wireless/orinoco/orinoco_pci.c
> +++ b/drivers/net/wireless/orinoco/orinoco_pci.c
> @@ -199,7 +199,7 @@ static int orinoco_pci_init_one(struct pci_dev *pdev,
> return err;
> }
>
> -static void __devexit orinoco_pci_remove_one(struct pci_dev *pdev)
> +static void orinoco_pci_remove_one(struct pci_dev *pdev)
> {
> struct orinoco_private *priv = pci_get_drvdata(pdev);
>
> diff --git a/drivers/net/wireless/orinoco/orinoco_plx.c b/drivers/net/wireless/orinoco/orinoco_plx.c
> index 63a614f..2559dbd 100644
> --- a/drivers/net/wireless/orinoco/orinoco_plx.c
> +++ b/drivers/net/wireless/orinoco/orinoco_plx.c
> @@ -294,7 +294,7 @@ static int orinoco_plx_init_one(struct pci_dev *pdev,
> return err;
> }
>
> -static void __devexit orinoco_plx_remove_one(struct pci_dev *pdev)
> +static void orinoco_plx_remove_one(struct pci_dev *pdev)
> {
> struct orinoco_private *priv = pci_get_drvdata(pdev);
> struct orinoco_pci_card *card = priv->card;
> diff --git a/drivers/net/wireless/orinoco/orinoco_tmd.c b/drivers/net/wireless/orinoco/orinoco_tmd.c
> index f67f43e..42afeee 100644
> --- a/drivers/net/wireless/orinoco/orinoco_tmd.c
> +++ b/drivers/net/wireless/orinoco/orinoco_tmd.c
> @@ -188,7 +188,7 @@ static int orinoco_tmd_init_one(struct pci_dev *pdev,
> return err;
> }
>
> -static void __devexit orinoco_tmd_remove_one(struct pci_dev *pdev)
> +static void orinoco_tmd_remove_one(struct pci_dev *pdev)
> {
> struct orinoco_private *priv = pci_get_drvdata(pdev);
> struct orinoco_pci_card *card = priv->card;
> diff --git a/drivers/net/wireless/p54/p54pci.c b/drivers/net/wireless/p54/p54pci.c
> index e5b29e9..04eb0ed 100644
> --- a/drivers/net/wireless/p54/p54pci.c
> +++ b/drivers/net/wireless/p54/p54pci.c
> @@ -639,7 +639,7 @@ static int p54p_probe(struct pci_dev *pdev,
> return err;
> }
>
> -static void __devexit p54p_remove(struct pci_dev *pdev)
> +static void p54p_remove(struct pci_dev *pdev)
> {
> struct ieee80211_hw *dev = pci_get_drvdata(pdev);
> struct p54p_priv *priv;
> diff --git a/drivers/net/wireless/p54/p54spi.c b/drivers/net/wireless/p54/p54spi.c
> index d75ab3e..4fd49a0 100644
> --- a/drivers/net/wireless/p54/p54spi.c
> +++ b/drivers/net/wireless/p54/p54spi.c
> @@ -683,7 +683,7 @@ err_free:
> return ret;
> }
>
> -static int __devexit p54spi_remove(struct spi_device *spi)
> +static int p54spi_remove(struct spi_device *spi)
> {
> struct p54s_priv *priv = dev_get_drvdata(&spi->dev);
>
> diff --git a/drivers/net/wireless/p54/p54usb.c b/drivers/net/wireless/p54/p54usb.c
> index 000f7ba..e71c702 100644
> --- a/drivers/net/wireless/p54/p54usb.c
> +++ b/drivers/net/wireless/p54/p54usb.c
> @@ -1057,7 +1057,7 @@ static int p54u_probe(struct usb_interface *intf,
> return err;
> }
>
> -static void __devexit p54u_disconnect(struct usb_interface *intf)
> +static void p54u_disconnect(struct usb_interface *intf)
> {
> struct ieee80211_hw *dev = usb_get_intfdata(intf);
> struct p54u_priv *priv;
> diff --git a/drivers/net/wireless/rtl818x/rtl8180/dev.c b/drivers/net/wireless/rtl818x/rtl8180/dev.c
> index 6a5c0b8..4af3f91 100644
> --- a/drivers/net/wireless/rtl818x/rtl8180/dev.c
> +++ b/drivers/net/wireless/rtl818x/rtl8180/dev.c
> @@ -1131,7 +1131,7 @@ static int rtl8180_probe(struct pci_dev *pdev,
> return err;
> }
>
> -static void __devexit rtl8180_remove(struct pci_dev *pdev)
> +static void rtl8180_remove(struct pci_dev *pdev)
> {
> struct ieee80211_hw *dev = pci_get_drvdata(pdev);
> struct rtl8180_priv *priv;
> diff --git a/drivers/net/wireless/rtl818x/rtl8187/dev.c b/drivers/net/wireless/rtl818x/rtl8187/dev.c
> index f879bc3..be36935 100644
> --- a/drivers/net/wireless/rtl818x/rtl8187/dev.c
> +++ b/drivers/net/wireless/rtl818x/rtl8187/dev.c
> @@ -1639,7 +1639,7 @@ static int rtl8187_probe(struct usb_interface *intf,
> return err;
> }
>
> -static void __devexit rtl8187_disconnect(struct usb_interface *intf)
> +static void rtl8187_disconnect(struct usb_interface *intf)
> {
> struct ieee80211_hw *dev = usb_get_intfdata(intf);
> struct rtl8187_priv *priv;
> diff --git a/drivers/net/wireless/ti/wl1251/sdio.c b/drivers/net/wireless/ti/wl1251/sdio.c
> index e3f287f..e57ee48 100644
> --- a/drivers/net/wireless/ti/wl1251/sdio.c
> +++ b/drivers/net/wireless/ti/wl1251/sdio.c
> @@ -305,7 +305,7 @@ out_free_hw:
> return ret;
> }
>
> -static void __devexit wl1251_sdio_remove(struct sdio_func *func)
> +static void wl1251_sdio_remove(struct sdio_func *func)
> {
> struct wl1251 *wl = sdio_get_drvdata(func);
> struct wl1251_sdio *wl_sdio = wl->if_priv;
> diff --git a/drivers/net/wireless/ti/wl1251/spi.c b/drivers/net/wireless/ti/wl1251/spi.c
> index 640a3d5..3b266d3 100644
> --- a/drivers/net/wireless/ti/wl1251/spi.c
> +++ b/drivers/net/wireless/ti/wl1251/spi.c
> @@ -309,7 +309,7 @@ static int wl1251_spi_probe(struct spi_device *spi)
> return ret;
> }
>
> -static int __devexit wl1251_spi_remove(struct spi_device *spi)
> +static int wl1251_spi_remove(struct spi_device *spi)
> {
> struct wl1251 *wl = dev_get_drvdata(&spi->dev);
>
> diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
> index 2dd4ada..dd38f61 100644
> --- a/drivers/net/wireless/ti/wlcore/main.c
> +++ b/drivers/net/wireless/ti/wlcore/main.c
> @@ -5682,7 +5682,7 @@ int wlcore_probe(struct wl1271 *wl, struct platform_device *pdev)
> }
> EXPORT_SYMBOL_GPL(wlcore_probe);
>
> -int __devexit wlcore_remove(struct platform_device *pdev)
> +int wlcore_remove(struct platform_device *pdev)
> {
> struct wl1271 *wl = platform_get_drvdata(pdev);
>
> diff --git a/drivers/net/wireless/ti/wlcore/sdio.c b/drivers/net/wireless/ti/wlcore/sdio.c
> index 7bf612c..646f703 100644
> --- a/drivers/net/wireless/ti/wlcore/sdio.c
> +++ b/drivers/net/wireless/ti/wlcore/sdio.c
> @@ -319,7 +319,7 @@ out:
> return ret;
> }
>
> -static void __devexit wl1271_remove(struct sdio_func *func)
> +static void wl1271_remove(struct sdio_func *func)
> {
> struct wl12xx_sdio_glue *glue = sdio_get_drvdata(func);
>
> diff --git a/drivers/net/wireless/ti/wlcore/spi.c b/drivers/net/wireless/ti/wlcore/spi.c
> index ee39484..f06f477 100644
> --- a/drivers/net/wireless/ti/wlcore/spi.c
> +++ b/drivers/net/wireless/ti/wlcore/spi.c
> @@ -403,7 +403,7 @@ out:
> return ret;
> }
>
> -static int __devexit wl1271_remove(struct spi_device *spi)
> +static int wl1271_remove(struct spi_device *spi)
> {
> struct wl12xx_spi_glue *glue = spi_get_drvdata(spi);
>
> diff --git a/drivers/net/wireless/ti/wlcore/wlcore.h b/drivers/net/wireless/ti/wlcore/wlcore.h
> index adc6152..c388493 100644
> --- a/drivers/net/wireless/ti/wlcore/wlcore.h
> +++ b/drivers/net/wireless/ti/wlcore/wlcore.h
> @@ -415,7 +415,7 @@ struct wl1271 {
> };
>
> int wlcore_probe(struct wl1271 *wl, struct platform_device *pdev);
> -int __devexit wlcore_remove(struct platform_device *pdev);
> +int wlcore_remove(struct platform_device *pdev);
> struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size, u32 aggr_buf_size);
> int wlcore_free_hw(struct wl1271 *wl);
> int wlcore_set_key(struct wl1271 *wl, enum set_key_cmd cmd,
> diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> index 6f695fc..b31198c 100644
> --- a/drivers/net/xen-netfront.c
> +++ b/drivers/net/xen-netfront.c
> @@ -1911,7 +1911,7 @@ static const struct xenbus_device_id netfront_ids[] = {
> };
>
>
> -static int __devexit xennet_remove(struct xenbus_device *dev)
> +static int xennet_remove(struct xenbus_device *dev)
> {
> struct netfront_info *info = dev_get_drvdata(&dev->dev);
>
>
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox