Message ID | 1407636153-24864-1-git-send-email-schmitzmic@gmail.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
[Subject added from patch] On 14-08-09 10:02 PM, Michael Schmitz wrote: > new version of the patch adding Atari EtherNEC (IRQ-less ROM port ISA NE2k > adapter) support to ne.c, as announced before. > > Thanks, > > Michael Schmitz Please don't send subjectless mails by attaching a commit to a mail, just use git send-email directly. > > From 224ce049f71577d6ec380aeb94a4d25c3c4016a7 Mon Sep 17 00:00:00 2001 > From: Michael Schmitz <schmitzmic@gmail.com> > Date: Sat, 6 Apr 2013 13:26:42 +1300 > Subject: [PATCH] m68k/atari: EtherNEC - ethernet support (ne) > > Support for Atari EtherNEC ROM port adapters in ne.c Is that all there is to say about these? Nothing about which platforms might have it, or what it was tested on or ... ? > > Signed-off-by: Michael Schmitz <schmitz@debian.org> > Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> > --- > drivers/net/ethernet/8390/Kconfig | 3 ++- > drivers/net/ethernet/8390/ne.c | 2 ++ > 2 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/ethernet/8390/Kconfig b/drivers/net/ethernet/8390/Kconfig > index 0988811..2d89bd0 100644 > --- a/drivers/net/ethernet/8390/Kconfig > +++ b/drivers/net/ethernet/8390/Kconfig > @@ -91,7 +91,8 @@ config MCF8390 > > config NE2000 > tristate "NE2000/NE1000 support" > - depends on (ISA || (Q40 && m) || M32R || MACH_TX49XX) > + depends on (ISA || (Q40 && m) || M32R || MACH_TX49XX || \ > + ATARI_ETHERNEC) > select CRC32 > ---help--- > If you have a network (Ethernet) card of this type, say Y and read > diff --git a/drivers/net/ethernet/8390/ne.c b/drivers/net/ethernet/8390/ne.c > index 58eaa8f..de566fb 100644 > --- a/drivers/net/ethernet/8390/ne.c > +++ b/drivers/net/ethernet/8390/ne.c > @@ -169,6 +169,8 @@ bad_clone_list[] __initdata = { > #elif defined(CONFIG_PLAT_OAKS32R) || \ > defined(CONFIG_MACH_TX49XX) > # define DCR_VAL 0x48 /* 8-bit mode */ > +#elif defined(CONFIG_ATARI) /* 8-bit mode on Atari, normal on Q40 */ > +# define DCR_VAL (MACH_IS_ATARI ? 0x48 : 0x49) This doesn't make sense. Is not MACH_IS_ATARI set when CONFIG_ATARI is set? And even if it isn't then just set 48 for MACH_IS_ATARI and let the default of 49 below take the ATARI=y and IS_ATARI=n case, without the need for the ?: operator at all. On top of that, why aren't you using the ATARI_ETHERNEC option here for your 48 trigger, instead of the much higher arch/mach level triggers at all? P. -- > #else > # define DCR_VAL 0x49 > #endif > -- 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
Hi Paul, On Tue, Aug 12, 2014 at 4:55 PM, Paul Gortmaker <paul.gortmaker@windriver.com> wrote: >> @@ -169,6 +169,8 @@ bad_clone_list[] __initdata = { >> #elif defined(CONFIG_PLAT_OAKS32R) || \ >> defined(CONFIG_MACH_TX49XX) >> # define DCR_VAL 0x48 /* 8-bit mode */ >> +#elif defined(CONFIG_ATARI) /* 8-bit mode on Atari, normal on Q40 */ >> +# define DCR_VAL (MACH_IS_ATARI ? 0x48 : 0x49) > > This doesn't make sense. Is not MACH_IS_ATARI set when CONFIG_ATARI > is set? And even if it isn't then just set 48 for MACH_IS_ATARI and m68k kernels can be multi-platform, so we need the MACH_IS_ATARI() runtime check. > let the default of 49 below take the ATARI=y and IS_ATARI=n case, > without the need for the ?: operator at all. On top of that, why > aren't you using the ATARI_ETHERNEC option here for your 48 trigger, > instead of the much higher arch/mach level triggers at all? CONFIG_ATARI_ETHERNEC could be used instead of CONFIG_ATARI, but as ne.c is used on Atari with Ethernec only, it doesn't matter much. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org 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 -- 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
Hi Paul, On Wed, Aug 13, 2014 at 2:55 AM, Paul Gortmaker <paul.gortmaker@windriver.com> wrote: > [Subject added from patch] Thanks - that was me botching git-send-email --annotate. My sincere apology for this. >> From 224ce049f71577d6ec380aeb94a4d25c3c4016a7 Mon Sep 17 00:00:00 2001 >> From: Michael Schmitz <schmitzmic@gmail.com> >> Date: Sat, 6 Apr 2013 13:26:42 +1300 >> Subject: [PATCH] m68k/atari: EtherNEC - ethernet support (ne) >> >> Support for Atari EtherNEC ROM port adapters in ne.c > > Is that all there is to say about these? Nothing about which platforms > might have it, or what it was tested on or ... ? All Atari computers have the ROM port. As such, the driver could be used on MegaST/E, TT or Falcon variants (these having MMU support so can run m68k linux). The ne.c driver is also used on the Q40, a m68k platfrem which includes the ISA bus. Hence the runtime check for whether the driver runs on Atari, or some other m68k platform below. > >> >> Signed-off-by: Michael Schmitz <schmitz@debian.org> >> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> >> --- >> drivers/net/ethernet/8390/Kconfig | 3 ++- >> drivers/net/ethernet/8390/ne.c | 2 ++ >> 2 files changed, 4 insertions(+), 1 deletions(-) >> >> diff --git a/drivers/net/ethernet/8390/Kconfig b/drivers/net/ethernet/8390/Kconfig >> index 0988811..2d89bd0 100644 >> --- a/drivers/net/ethernet/8390/Kconfig >> +++ b/drivers/net/ethernet/8390/Kconfig >> @@ -91,7 +91,8 @@ config MCF8390 >> >> config NE2000 >> tristate "NE2000/NE1000 support" >> - depends on (ISA || (Q40 && m) || M32R || MACH_TX49XX) >> + depends on (ISA || (Q40 && m) || M32R || MACH_TX49XX || \ >> + ATARI_ETHERNEC) >> select CRC32 >> ---help--- >> If you have a network (Ethernet) card of this type, say Y and read >> diff --git a/drivers/net/ethernet/8390/ne.c b/drivers/net/ethernet/8390/ne.c >> index 58eaa8f..de566fb 100644 >> --- a/drivers/net/ethernet/8390/ne.c >> +++ b/drivers/net/ethernet/8390/ne.c >> @@ -169,6 +169,8 @@ bad_clone_list[] __initdata = { >> #elif defined(CONFIG_PLAT_OAKS32R) || \ >> defined(CONFIG_MACH_TX49XX) >> # define DCR_VAL 0x48 /* 8-bit mode */ >> +#elif defined(CONFIG_ATARI) /* 8-bit mode on Atari, normal on Q40 */ >> +# define DCR_VAL (MACH_IS_ATARI ? 0x48 : 0x49) > > This doesn't make sense. Is not MACH_IS_ATARI set when CONFIG_ATARI As Geert pointed out, MACH_IS_ATARI is a runtime test on multiplatform kernels (which are the norm these days, even with m68k). Would you be OK if I expanded the comment like this? /* ne.c is used on m68k Atari and Q40 computers - the Atari ROM-port adapter is 8-bit, Q40 uses ISA */ > is set? And even if it isn't then just set 48 for MACH_IS_ATARI and > let the default of 49 below take the ATARI=y and IS_ATARI=n case, > without the need for the ?: operator at all. On top of that, why This would limit the runtime test to the case where it is actually needed (untested): #elif defined(CONFIG_ATARI) && defined(CONFIG_Q40) /* multiplatform m68k kernel - the Atari ROM-port adapter is 8-bit, Q40 uses ISA */ # define DCR_VAL (MACH_IS_ATARI ? 0x48 : 0x49) #elif defined(CONFIG_ATARI) /* no Q40 support - 8-bit mode on Atari ROM port */ # define DCR_VAL 0x48 #else # define DCR_VAL 0x49 #endif Are there any other m68k platforms that use the ne.c driver, Geert? apne, hydra and zorro8390 all have their own separate drivers - any others? > aren't you using the ATARI_ETHERNEC option here for your 48 trigger, > instead of the much higher arch/mach level triggers at all? Fair enough - I can do that. I though using the mach level one made it clearer this is about multiplatform issues. We still need the runtime test on kernels configured for both Atari and Q40 though. Which variant do you prefer? Thanks, Michael > > P. > -- > >> #else >> # define DCR_VAL 0x49 >> #endif >> -- 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
Hi Michael, On Tue, Aug 12, 2014 at 11:40 PM, Michael Schmitz <schmitzmic@gmail.com> wrote: > Would you be OK if I expanded the comment like this? > > /* ne.c is used on m68k Atari and Q40 computers - the Atari ROM-port > adapter is 8-bit, Q40 uses ISA */ DaveM already applied it to his tree, and sent a pull request to Linus. > This would limit the runtime test to the case where it is actually > needed (untested): > > #elif defined(CONFIG_ATARI) && defined(CONFIG_Q40) > /* multiplatform m68k kernel - the Atari ROM-port adapter is 8-bit, > Q40 uses ISA */ > # define DCR_VAL (MACH_IS_ATARI ? 0x48 : 0x49) > #elif defined(CONFIG_ATARI) /* no Q40 support - 8-bit mode on Atari ROM port */ > # define DCR_VAL 0x48 > #else > # define DCR_VAL 0x49 > #endif MACH_IS_ATARI already evaluates to a constant on single-platform kernels, so this is optimized at compile time. Hence there's not really a need for this. > Are there any other m68k platforms that use the ne.c driver, Geert? > apne, hydra and zorro8390 all have their own separate drivers - any > others? Not that I'm aware of. Only Q40 has CONFIG_NE2000 in defconfig. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org 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 -- 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
Hi Geert, > >> Would you be OK if I expanded the comment like this? >> >> /* ne.c is used on m68k Atari and Q40 computers - the Atari ROM-port >> adapter is 8-bit, Q40 uses ISA */ >> > > DaveM already applied it to his tree, and sent a pull request to Linus. > OK - won't resend then unless explicitly requested. Many thanks, Dave! >> This would limit the runtime test to the case where it is actually >> needed (untested): >> >> #elif defined(CONFIG_ATARI) && defined(CONFIG_Q40) >> /* multiplatform m68k kernel - the Atari ROM-port adapter is 8-bit, >> Q40 uses ISA */ >> # define DCR_VAL (MACH_IS_ATARI ? 0x48 : 0x49) >> #elif defined(CONFIG_ATARI) /* no Q40 support - 8-bit mode on Atari ROM port */ >> # define DCR_VAL 0x48 >> #else >> # define DCR_VAL 0x49 >> #endif >> > > MACH_IS_ATARI already evaluates to a constant on single-platform > kernels, so this is optimized at compile time. > Hence there's not really a need for this. > I was hoping it would. More of an attempt to make the logic easier to understand, but a comment would be sufficient (and avoid redundancy). >> Are there any other m68k platforms that use the ne.c driver, Geert? >> apne, hydra and zorro8390 all have their own separate drivers - any >> others? >> > > Not that I'm aware of. Only Q40 has CONFIG_NE2000 in defconfig. > Good - we can finally put this one to rest. Cheers, Michael > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > 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 > -- 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
diff --git a/drivers/net/ethernet/8390/Kconfig b/drivers/net/ethernet/8390/Kconfig index 0988811..2d89bd0 100644 --- a/drivers/net/ethernet/8390/Kconfig +++ b/drivers/net/ethernet/8390/Kconfig @@ -91,7 +91,8 @@ config MCF8390 config NE2000 tristate "NE2000/NE1000 support" - depends on (ISA || (Q40 && m) || M32R || MACH_TX49XX) + depends on (ISA || (Q40 && m) || M32R || MACH_TX49XX || \ + ATARI_ETHERNEC) select CRC32 ---help--- If you have a network (Ethernet) card of this type, say Y and read diff --git a/drivers/net/ethernet/8390/ne.c b/drivers/net/ethernet/8390/ne.c index 58eaa8f..de566fb 100644 --- a/drivers/net/ethernet/8390/ne.c +++ b/drivers/net/ethernet/8390/ne.c @@ -169,6 +169,8 @@ bad_clone_list[] __initdata = { #elif defined(CONFIG_PLAT_OAKS32R) || \ defined(CONFIG_MACH_TX49XX) # define DCR_VAL 0x48 /* 8-bit mode */ +#elif defined(CONFIG_ATARI) /* 8-bit mode on Atari, normal on Q40 */ +# define DCR_VAL (MACH_IS_ATARI ? 0x48 : 0x49) #else # define DCR_VAL 0x49 #endif