Skip to content

Commit

Permalink
[PATCH] sk98lin: routine called from probe marked __init
Browse files Browse the repository at this point in the history
Sk98lin driver has a routine marked __init that is called from
the probe code. If using pci hotplug, this could be called after
the initialization so it needs to be marked __devinit.
So if you hot added a sk98lin board, the kernel would crash.
I don't have hot plug hardware to actually try this feat.

Also, there are two routines, only called from SkGeBoardInit that can
be marked __devinit.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
  • Loading branch information
Stephen Hemminger authored and Jeff Garzik committed Jan 9, 2006
1 parent 5367f2d commit 17fa6e2
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions drivers/net/sk98lin/skge.c
Original file line number Diff line number Diff line change
Expand Up @@ -282,10 +282,11 @@ SK_U32 Val) /* pointer to store the read value */
* Description:
* This function initialize the PCI resources and IO
*
* Returns: N/A
*
* Returns:
* 0 - indicate everything worked ok.
* != 0 - error indication
*/
int SkGeInitPCI(SK_AC *pAC)
static __devinit int SkGeInitPCI(SK_AC *pAC)
{
struct SK_NET_DEVICE *dev = pAC->dev[0];
struct pci_dev *pdev = pAC->PciDev;
Expand Down Expand Up @@ -492,7 +493,7 @@ module_param_array(AutoSizing, charp, NULL, 0);
* 0, if everything is ok
* !=0, on error
*/
static int __init SkGeBoardInit(struct SK_NET_DEVICE *dev, SK_AC *pAC)
static int __devinit SkGeBoardInit(struct SK_NET_DEVICE *dev, SK_AC *pAC)
{
short i;
unsigned long Flags;
Expand Down Expand Up @@ -633,8 +634,7 @@ SK_BOOL DualNet;
* SK_TRUE, if all memory could be allocated
* SK_FALSE, if not
*/
static SK_BOOL BoardAllocMem(
SK_AC *pAC)
static __devinit SK_BOOL BoardAllocMem(SK_AC *pAC)
{
caddr_t pDescrMem; /* pointer to descriptor memory area */
size_t AllocLength; /* length of complete descriptor area */
Expand Down Expand Up @@ -727,8 +727,7 @@ size_t AllocLength; /* length of complete descriptor area */
*
* Returns: N/A
*/
static void BoardInitMem(
SK_AC *pAC) /* pointer to adapter context */
static __devinit void BoardInitMem(SK_AC *pAC)
{
int i; /* loop counter */
int RxDescrSize; /* the size of a rx descriptor rounded up to alignment*/
Expand Down

0 comments on commit 17fa6e2

Please sign in to comment.