[PATCH] sk98lin: routine called from probe marked __init

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>
This commit is contained in:
Stephen Hemminger 2006-01-06 16:57:39 -08:00 committed by Jeff Garzik
parent 5367f2d67c
commit 17fa6e2f11
1 changed files with 7 additions and 8 deletions

View File

@ -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;
@ -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;
@ -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 */
@ -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*/