Hi Michael, On Sun, Jun 6, 2021 at 7:54 AM Michael Schmitz <schmitzmic@xxxxxxxxx> wrote: > Add Kconfig option, module parameter and PCMCIA reset code > required to support 100 Mbit PCMCIA ethernet cards on Amiga. > > 10 Mbit and 100 Mbit mode are supported by the same module. > A module parameter switches Amiga ISA IO accessors to word > access by changing isa_type at runtime. Additional code to > reset the PCMCIA hardware is also added to the driver probe. > > Patch modified after patch "[PATCH RFC net-next] Amiga PCMCIA > 100 MBit card support" submitted to netdev 2018/09/16 by Alex > Kazik <alex@xxxxxxxx>. > > Signed-off-by: Michael Schmitz <schmitzmic@xxxxxxxxx> Thanks for your patch! > --- a/drivers/net/ethernet/8390/Kconfig > +++ b/drivers/net/ethernet/8390/Kconfig > @@ -143,6 +143,19 @@ config APNE > To compile this driver as a module, choose M here: the module > will be called apne. > > +if APNE Please use "depends on APNE" instead of an if/endif block, as there's only a single symbol to cover. > +config APNE100MBIT > + bool "PCMCIA NE2000 100MBit support" > + default n > + ---help--- > + This changes the driver to support 10/100Mbit cards (e.g. Netgear > + FA411, CNet Singlepoint). 10 MBit cards and 100 MBit cards are > + supported by the same driver. > + > + To activate 100 Mbit support at runtime, use the apne100 module > + parameter. Trailing space. > +endif > + > config PCMCIA_PCNET > tristate "NE2000 compatible PCMCIA support" > depends on PCMCIA > diff --git a/drivers/net/ethernet/8390/apne.c b/drivers/net/ethernet/8390/apne.c > index fe6c834..9648e45 100644 > --- a/drivers/net/ethernet/8390/apne.c > +++ b/drivers/net/ethernet/8390/apne.c > @@ -120,6 +120,10 @@ static u32 apne_msg_enable; > module_param_named(msg_enable, apne_msg_enable, uint, 0444); > MODULE_PARM_DESC(msg_enable, "Debug message level (see linux/netdevice.h for bitmap)"); > > +static u32 apne_100_mbit; > +module_param_named(apne_100_mbit, uint, 0); > +MODULE_PARM_DESC(apne_100_mbit, "Enable 100 Mbit support"); Shouldn't this depend on CONFIG_APNE100MBIT, too? Perhaps we shouldn't bother with the config symbol, and include this unconditionally? > + > struct net_device * __init apne_probe(int unit) > { > struct net_device *dev; > @@ -139,6 +143,9 @@ struct net_device * __init apne_probe(int unit) > if ( !(AMIGAHW_PRESENT(PCMCIA)) ) > return ERR_PTR(-ENODEV); > > + if (apne_100_mbit) > + isa_type = ISA_TYPE_AG100; Likewise. Can we enable this automatically when needed, based on the chip detected? + spaces instead of TABs (scripts/checkpatch.pl is your friend). > + > pr_info("Looking for PCMCIA ethernet card : "); > > /* check if a card is inserted */ > @@ -590,6 +597,16 @@ static int init_pcmcia(void) > #endif > u_long offset; > > +#ifdef CONFIG_APNE100MBIT > + /* reset card (idea taken from CardReset by Artur Pogoda) */ > + { > + u_char tmp = gayle.intreq; > + > + gayle.intreq = 0xff; mdelay(1); > + gayle.intreq = tmp; mdelay(300); > + } Is this safe for all cards? > +#endif > + > pcmcia_reset(); > pcmcia_program_voltage(PCMCIA_0V); > pcmcia_access_speed(PCMCIA_SPEED_250NS); Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds