Re: [PATCH RFC 2/2] net/8390: apne.c - add 100 Mbit support to apne.c driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux