Removing dead code
Subsystems (3)
cover Removing dead code
Hi all!
As part of the VAMOS[0] research project at the University of
Erlangen we are looking at multiple integrity errors in linux' configuration system.
I've been running a check on the drivers/net sourcetree for
config Items not defined in Kconfig and found 11 such cases. Sourcecode blocks depending on these Items are not reachable from a vanilla kernel -- dead code. I've seen such dead blocks made on purpose e.g. while integrating new features into the kernel but generally they're just useless.
Each of the patches in this patchset removes on such dead
config Item, I'd be glad if you consider applying them. I've been doing deeper analysis of such issues before and can do so again but I'm not so sure they were fastly usefull.
I build the patches against a vanilla kernel in order to
try if the kernel compiles with this patches
Please keep me informed of this patch getting confirmed /
merged so we can keep track of it.
Regards
Christoph Egger
[0] http://vamos1.informatik.uni-erlangen.de/
Christoph Egger (11):
Removing dead RT2800PCI_SOC
Removing dead {AR,WAVE}LAN
Removing dead CASSINI_QGE_DEBUG
Removing dead CASSINI_MULTICAST_REG_WRITE Removing dead CASSINI_NAPI
Removing dead CHELSIO_T1_COUGAR
Removing dead ARCH_PNX010X
Removing dead SH_HICOSH4
Removing dead ETRAX_NETWORK_RED_ON_NO_CONNECTION Removing dead NETWINDER_{T,R}X_DMA_PROBLEMS Removing dead REDWOOD_{5,6}
drivers/net/Space.c | 6 -- drivers/net/cassini.c | 25 +-------- drivers/net/cassini.h | 4 - drivers/net/chelsio/subr.c | 48 +--------------- drivers/net/cris/eth_v10.c | 4 - drivers/net/cs89x0.c | 96 +------------------------------ drivers/net/cs89x0.h | 4 - drivers/net/irda/w83977af_ir.c | 33 +--------- drivers/net/smc91x.h | 37 ------------ drivers/net/wireless/rt2x00/Kconfig | 5 -- drivers/net/wireless/rt2x00/rt2800pci.c | 39 ------------- 11 files changed, 9 insertions(+), 292 deletions(-)
PATCH 1/11 Removing dead RT2800PCI_SOC
While RT2800PCI_SOC exists in Kconfig, it depends on either RALINK_RT288X or RALINK_RT305X which are both not available in Kconfig so all Code depending on that can't ever be selected and, if there's no plan to add these options, should be cleaned up
--- drivers/net/wireless/rt2x00/Kconfig | 5 ---- drivers/net/wireless/rt2x00/rt2800pci.c | 39 ------------------------------- 2 files changed, 0 insertions(+), 44 deletions(-)
drivers/net/wireless/rt2x00/Kconfig +0 -5
@@ -58,11 +58,6 @@ config RT2800PCI_PCI depends on PCI default y -config RT2800PCI_SOC - boolean - depends on RALINK_RT288X || RALINK_RT305X - default y - config RT2800PCI tristate "Ralink rt28xx/rt30xx/rt35xx (PCI/PCIe/PCMCIA) support (EXPERIMENTAL)" depends on (RT2800PCI_PCI || RT2800PCI_SOC) && EXPERIMENTAL
drivers/net/wireless/rt2x00/rt2800pci.c +0 -39
@@ -85,18 +85,9 @@ static void rt2800pci_mcu_status(struct rt2x00_dev *rt2x00dev, const u8 token)rt2800_register_write (rt2x00dev,H2M_MAILBOX_CID , ~0 ); } -#ifdef CONFIG_RT2800PCI_SOC -static void rt2800pci_read_eeprom_soc (struct rt2x00_dev *rt2x00dev) -{ -u32 *base_addr = (u32 *)KSEG1ADDR (0x1F040000 );/* XXX for RT3052 */ - -memcpy_fromio (rt2x00dev->eeprom, base_addr,EEPROM_SIZE ); -} -#else static inline void rt2800pci_read_eeprom_soc (struct rt2x00_dev *rt2x00dev) { } -#endif /* CONFIG_RT2800PCI_SOC */ #ifdef CONFIG_RT2800PCI_PCI static void rt2800pci_eepromregister_read (struct eeprom_93cx6 *eeprom)
@@ -1160,25 +1151,6 @@ MODULE_DEVICE_TABLE(pci, rt2800pci_device_table);#endif /* CONFIG_RT2800PCI_PCI */ MODULE_LICENSE ("GPL" ); -#ifdef CONFIG_RT2800PCI_SOC -static int rt2800soc_probe (struct platform_device *pdev) -{ -return rt2x00soc_probe (pdev, &rt2800pci_ops); -} - -static struct platform_driver rt2800soc_driver = { - .driver = { - .name ="rt2800_wmac" , - .owner =THIS_MODULE , - .mod_name =KBUILD_MODNAME , - }, - .probe = rt2800soc_probe, - .remove =__devexit_p (rt2x00soc_remove), - .suspend = rt2x00soc_suspend, - .resume = rt2x00soc_resume, -}; -#endif /* CONFIG_RT2800PCI_SOC */ -#ifdef CONFIG_RT2800PCI_PCI static struct pci_driver rt2800pci_driver = { .name = KBUILD_MODNAME,
@@ -1194,17 +1166,9 @@ static int __init rt2800pci_init(void) {int ret =0 ; -#ifdef CONFIG_RT2800PCI_SOC - ret =platform_driver_register (&rt2800soc_driver); -if (ret) -return ret; -#endif #ifdef CONFIG_RT2800PCI_PCI ret =pci_register_driver (&rt2800pci_driver);if (ret) { -#ifdef CONFIG_RT2800PCI_SOC -platform_driver_unregister (&rt2800soc_driver); -#endif return ret; }#endif
@@ -1217,9 +1181,6 @@ static void __exit rt2800pci_exit(void)#ifdef CONFIG_RT2800PCI_PCI pci_unregister_driver (&rt2800pci_driver);#endif -#ifdef CONFIG_RT2800PCI_SOC -platform_driver_unregister (&rt2800soc_driver); -#endif }module_init (rt2800pci_init);
Signature · 1 line
1.7.0.4
Luis Correia
NAKRe: [PATCH 01/11] Removing dead RT2800PCI_SOC
Quoted 6 lines · Christoph Egger
While
RT2800PCI_SOCexists inKconfig, it depends on eitherRALINK_RT288XorRALINK_RT305Xwhich are both not available inKconfigso all Code depending on that can't ever be selected and, if there's no plan to add these options, should be cleaned upSigned-off-by Christoph Egger <[email protected]>
NAK,
this is not dead code, it is needed for the Ralink System-on-Chip Platform devices.
While I can't fix Kconfig errors and the current KConfig file may be wrong, this code cannot and will not be deleted.
Luis Correia
rt2x00 project admin
Quoted 106 lines
---
drivers/net/wireless/rt2x00/Kconfig | 5 ----drivers/net/wireless/rt2x00/rt2800pci.c| 39 -------------------------------2 files changed, 0 insertions(+), 44 deletions(-)drivers/net/wireless/rt2x00/Kconfig +0
-0@@ -58,11 +58,6 @@ config RT2800PCI_PCIdepends on PCI
default ydrivers/net/wireless/rt2x00/Kconfig +0
-5-config RT2800PCI_SOC - boolean - depends on RALINK_RT288X || RALINK_RT305X - default y -config RT2800PCI
tristate "Ralink rt28xx/rt30xx/rt35xx (PCI/PCIe/PCMCIA) support (EXPERIMENTAL)" depends on (RT2800PCI_PCI||RT2800PCI_SOC) && EXPERIMENTALdrivers/net/wireless/rt2x00/rt2800pci.c +0
-40@@ -85,18 +85,9 @@ static void rt2800pci_mcu_status(struct rt2x00_dev *rt2x00dev, const u8 token) rt2800_register_write(rt2x00dev, H2M_MAILBOX_CID, ~0); } -#ifdef CONFIG_RT2800PCI_SOC -static void rt2800pci_read_eeprom_soc (struct rt2x00_dev *rt2x00dev) -{ - u32 *base_addr = (u32 *) KSEG1ADDR(0x1F040000); /* XXX for RT3052 */ - - memcpy_fromio(rt2x00dev->eeprom, base_addr, EEPROM_SIZE); -} -#else static inline void rt2800pci_read_eeprom_soc(struct rt2x00_dev *rt2x00dev) { } -#endif /* CONFIG_RT2800PCI_SOC */ #ifdef CONFIG_RT2800PCI_PCI static void rt2800pci_eepromregister_read(struct eeprom_93cx6 *eeprom)@@ -1160,25 +1151,6 @@ MODULE_DEVICE_TABLE(pci, rt2800pci_device_table); #endif /* CONFIG_RT2800PCI_PCI */ MODULE_LICENSE("GPL"); -#ifdef CONFIG_RT2800PCI_SOC -static int rt2800soc_probe (struct platform_device *pdev) -{ - return rt2x00soc_probe(pdev, &rt2800pci_ops); -} - -static struct platform_driver rt2800soc_driver = { - .driver = { - .name = "rt2800_wmac", - .owner = THIS_MODULE, - .mod_name = KBUILD_MODNAME, - }, - .probe = rt2800soc_probe, - .remove = __devexit_p(rt2x00soc_remove), - .suspend = rt2x00soc_suspend, - .resume = rt2x00soc_resume, -}; -#endif /* CONFIG_RT2800PCI_SOC */ - #ifdef CONFIG_RT2800PCI_PCI static struct pci_driver rt2800pci_driver = { .name = KBUILD_MODNAME,@@ -1194,17 +1166,9 @@ static int __init rt2800pci_init(void) { int ret = 0; -#ifdef CONFIG_RT2800PCI_SOC - ret = platform_driver_register(&rt2800soc_driver); - if (ret) - return ret; -#endif #ifdef CONFIG_RT2800PCI_PCI ret = pci_register_driver(&rt2800pci_driver); if (ret) { -#ifdef CONFIG_RT2800PCI_SOC - platform_driver_unregister(&rt2800soc_driver); -#endif return ret; } #endif@@ -1217,9 +1181,6 @@ static void __exit rt2800pci_exit(void) #ifdef CONFIG_RT2800PCI_PCI pci_unregister_driver(&rt2800pci_driver); #endif -#ifdef CONFIG_RT2800PCI_SOC - platform_driver_unregister(&rt2800soc_driver); -#endif } module_init(rt2800pci_init); --1.7.0.4
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 01/11] Removing dead RT2800PCI_SOC
Quoted 8 lines · Luis Correia
Quoted 6 lines · Christoph Egger
While
RT2800PCI_SOCexists inKconfig, it depends on eitherRALINK_RT288XorRALINK_RT305Xwhich are both not available inKconfigso all Code depending on that can't ever be selected and, if there's no plan to add these options, should be cleaned upSigned-off-by Christoph Egger <[email protected]>
Quoted 7 lines
NAK,
this is not dead code, it is needed for the Ralink System-on-Chip Platform devices.
While I can't fix
Kconfigerrors and the current KConfig file may be wrong, this code cannot and will not be deleted.
When the config option was introduced, the config options RALINK_RT288X and RALINK_RT305X were supposed to be merged as well soon after by somebody (Felix?)
But since testing is done on SoC boards by Helmut and Felix, I assume the code isn't dead but actually in use.
Ivo
Re: [PATCH 01/11] Removing dead RT2800PCI_SOC
Quoted 14 lines · Ivo Van Doorn
Quoted 13 lines · Luis Correia
Quoted 6 lines · Christoph Egger
While
RT2800PCI_SOCexists inKconfig, it depends on eitherRALINK_RT288XorRALINK_RT305Xwhich are both not available inKconfigso all Code depending on that can't ever be selected and, if there's no plan to add these options, should be cleaned upSigned-off-by Christoph Egger <siccegge-n+aIp8eCc/[email protected]>NAK,
this is not dead code, it is needed for the Ralink System-on-Chip Platform devices.
Quoted 8 lines
Quoted 2 lines
While I can't fix
Kconfigerrors and the current KConfig file may be wrong, this code cannot and will not be deleted.When the config option was introduced, the config options
RALINK_RT288XandRALINK_RT305Xwere supposed to be merged as well soon after by somebody (Felix?)But since testing is done on SoC boards by Helmut and Felix, I assume the code isn't dead but actually in use.
Perhaps Helmut and Felix can send us the missing code?
John
Signature · 6 lines
John W. Linville Someday the world will need a hero, and you [email protected] might be all we have. Be ready. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 01/11] Removing dead RT2800PCI_SOC
Quoted 18 lines · John W. Linville
Quoted 17 lines · Ivo Van Doorn
Quoted 15 lines · Luis Correia
Quoted 6 lines · Christoph Egger
While
RT2800PCI_SOCexists inKconfig, it depends on eitherRALINK_RT288XorRALINK_RT305Xwhich are both not available inKconfigso all Code depending on that can't ever be selected and, if there's no plan to add these options, should be cleaned upSigned-off-by Christoph Egger <siccegge-n+aIp8eCc/[email protected]>NAK,
this is not dead code, it is needed for the Ralink System-on-Chip Platform devices.
While I can't fix
Kconfigerrors and the current KConfig file may be wrong, this code cannot and will not be deleted.
Quoted 7 lines
Quoted 5 lines
When the config option was introduced, the config options
RALINK_RT288XandRALINK_RT305Xwere supposed to be merged as well soon after by somebody (Felix?)But since testing is done on SoC boards by Helmut and Felix, I assume the code isn't dead but actually in use.
Perhaps Helmut and Felix can send us the missing code?
The missing code is a MIPS platform port, which is currently being maintained in OpenWrt, but is not ready for upstream submission yet. I'm not working on this code at the moment, but I think it will be submitted once it's ready.
- Felix
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 01/11] Removing dead RT2800PCI_SOC
Quoted 22 lines · Felix Fietkau
Quoted 21 lines · John W. Linville
Quoted 20 lines · Ivo Van Doorn
Quoted 8 lines · Luis Correia
Quoted 6 lines · Christoph Egger
While
RT2800PCI_SOCexists inKconfig, it depends on eitherRALINK_RT288XorRALINK_RT305Xwhich are both not available inKconfigso all Code depending on that can't ever be selected and, if there's no plan to add these options, should be cleaned upSigned-off-by Christoph Egger <siccegge-n+aIp8eCc/[email protected]>Quoted 7 lines
NAK,
this is not dead code, it is needed for the Ralink System-on-Chip Platform devices.
While I can't fix
Kconfigerrors and the current KConfig file may be wrong, this code cannot and will not be deleted.When the config option was introduced, the config options
RALINK_RT288XandRALINK_RT305Xwere supposed to be merged as well soon after by somebody (Felix?)
Quoted 8 lines
Quoted 4 lines
Quoted 2 lines
But since testing is done on SoC boards by Helmut and Felix, I assume the code isn't dead but actually in use.
Perhaps Helmut and Felix can send us the missing code?
The missing code is a MIPS platform port, which is currently being maintained in OpenWrt, but is not ready for upstream submission yet. I'm not working on this code at the moment, but I think it will be submitted once it's ready.
People are using automatic scripts to catch unused config options nowadays so the issue is quite likely to come back again sooner or later..
Would it be possible to improve situation somehow till the missing parts get merged? Maybe by adding a tiny comment documenting RT2800PCI_SOC situation to Kconfig (if the config option itself really cannot be removed) until all code is ready etc.?
I bet that Christoph would be willing to update his patch if you ask him nicely..
Thanks,
--
Bartlomiej Zolnierkiewicz
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): [email protected]
Re: [PATCH 01/11] Removing dead RT2800PCI_SOC
Quoted 43 lines · Helmut Schaa
On Thu, Jul 15, 2010 at 10:41 AM, Bartlomiej Zolnierkiewicz <[email protected] <mailto:[email protected]>> wrote:
On Wednesday 14 July 2010 04:44:44 pm Felix Fietkau wrote:
> On 2010-07-14 3:15 PM, John W. Linville wrote:
> > On Wed, Jul 14, 2010 at 02:52:14PM +0200, Ivo Van Doorn wrote:
> >> On Wed, Jul 14, 2010 at 2:46 PM, Luis Correia <[email protected] <mailto:[email protected]>> wrote:
> >> > On Wed, Jul 14, 2010 at 13:39, Christoph Egger <[email protected] <mailto:[email protected]>> wrote:
> >> >> WhileRT2800PCI_SOCexists inKconfig, it depends on either
> >> >>RALINK_RT288XorRALINK_RT305Xwhich are both not available inKconfig
> >> >> so all Code depending on that can't ever be selected and, if there's
> >> >> no plan to add these options, should be cleaned up
> >> >>
> >> >> Signed-off-by: Christoph Egger <[email protected] <mailto:[email protected]>>
> >> >
> >> > NAK,
> >> >
> >> > this is not dead code, it is needed for the Ralink System-on-Chip
> >> > Platform devices.
> >> >
> >> > While I can't fixKconfigerrors and the current KConfig file may be
> >> > wrong, this code cannot and will not be deleted.
> >>
> >> When the config option was introduced, the config optionsRALINK_RT288Xand
> >>RALINK_RT305Xwere supposed to be merged as well soon after by somebody (Felix?)
> >>
> >> But since testing is done on SoC boards by Helmut and Felix, I assume the code
> >> isn't dead but actually in use.
> >
> > Perhaps Helmut and Felix can send us the missing code?
> The missing code is a MIPS platform port, which is currently being
> maintained in OpenWrt, but is not ready for upstream submission yet.
> I'm not working on this code at the moment, but I think it will be
> submitted once it's ready.People are using automatic scripts to catch unused config options nowadays so the issue is quite likely to come back again sooner or later..
Would it be possible to improve situation somehow till the missing parts get merged? Maybe by adding a tiny comment documenting
RT2800PCI_SOCsituation toKconfig(if the config option itself really cannot be removed) until all code is ready etc.?
Quoted 4 lines
Or we could just remove
RT2800PCI_SOCcompletely and build the soc specific parts always as part of rt2800pci. I mean it's not much code, just the platform driver stuff and the eeprom access.
I'm not sure if that is feasible. Sure, we can reduce the usage of the variable by unconditionally compiling in the generic SOC code, but we should not unconditionally register the SOC platform device, which is currently also under the scope of this Kconfig variable.
---
Gertjan.
Re: [PATCH 01/11] Removing dead RT2800PCI_SOC
Quoted 50 lines · Gertjan van Wingerde
Quoted 43 lines · Helmut Schaa
On Thu, Jul 15, 2010 at 10:41 AM, Bartlomiej Zolnierkiewicz <[email protected] <mailto:[email protected]>> wrote:
On Wednesday 14 July 2010 04:44:44 pm Felix Fietkau wrote:
> On 2010-07-14 3:15 PM, John W. Linville wrote:
> > On Wed, Jul 14, 2010 at 02:52:14PM +0200, Ivo Van Doorn wrote:
> >> On Wed, Jul 14, 2010 at 2:46 PM, Luis Correia <[email protected] <mailto:[email protected]>> wrote:
> >> > On Wed, Jul 14, 2010 at 13:39, Christoph Egger <[email protected] <mailto:[email protected]>> wrote:
> >> >> WhileRT2800PCI_SOCexists inKconfig, it depends on either
> >> >>RALINK_RT288XorRALINK_RT305Xwhich are both not available inKconfig
> >> >> so all Code depending on that can't ever be selected and, if there's
> >> >> no plan to add these options, should be cleaned up
> >> >>
> >> >> Signed-off-by: Christoph Egger <[email protected] <mailto:[email protected]>>
> >> >
> >> > NAK,
> >> >
> >> > this is not dead code, it is needed for the Ralink System-on-Chip
> >> > Platform devices.
> >> >
> >> > While I can't fixKconfigerrors and the current KConfig file may be
> >> > wrong, this code cannot and will not be deleted.
> >>
> >> When the config option was introduced, the config optionsRALINK_RT288Xand
> >>RALINK_RT305Xwere supposed to be merged as well soon after by somebody (Felix?)
> >>
> >> But since testing is done on SoC boards by Helmut and Felix, I assume the code
> >> isn't dead but actually in use.
> >
> > Perhaps Helmut and Felix can send us the missing code?
> The missing code is a MIPS platform port, which is currently being
> maintained in OpenWrt, but is not ready for upstream submission yet.
> I'm not working on this code at the moment, but I think it will be
> submitted once it's ready.People are using automatic scripts to catch unused config options nowadays so the issue is quite likely to come back again sooner or later..
Would it be possible to improve situation somehow till the missing parts get merged? Maybe by adding a tiny comment documenting
RT2800PCI_SOCsituation toKconfig(if the config option itself really cannot be removed) until all code is ready etc.?Quoted 4 lines
Or we could just remove
RT2800PCI_SOCcompletely and build the soc specific parts always as part of rt2800pci. I mean it's not much code, just the platform driver stuff and the eeprom access.
Quoted 4 lines
I'm not sure if that is feasible. Sure, we can reduce the usage of the variable by unconditionally compiling in the generic SOC code, but we should not unconditionally register the SOC platform device, which is currently also under the scope of this
Kconfigvariable.
Ehm, no, the platform device is not registered in rt2800pci at all, it's just the platform
driver that gets registered there. The platform device will be registered in the according
board init code (that only resides in openwrt at the moment).
Helmut
Re: [PATCH 01/11] Removing dead RT2800PCI_SOC
Quoted 57 lines · Helmut Schaa
Quoted 50 lines · Gertjan van Wingerde
Quoted 43 lines · Helmut Schaa
On Thu, Jul 15, 2010 at 10:41 AM, Bartlomiej Zolnierkiewicz <[email protected] <mailto:[email protected]>> wrote:
On Wednesday 14 July 2010 04:44:44 pm Felix Fietkau wrote:
> On 2010-07-14 3:15 PM, John W. Linville wrote:
> > On Wed, Jul 14, 2010 at 02:52:14PM +0200, Ivo Van Doorn wrote:
> >> On Wed, Jul 14, 2010 at 2:46 PM, Luis Correia <[email protected] <mailto:[email protected]>> wrote:
> >> > On Wed, Jul 14, 2010 at 13:39, Christoph Egger <[email protected] <mailto:[email protected]>> wrote:
> >> >> WhileRT2800PCI_SOCexists inKconfig, it depends on either
> >> >>RALINK_RT288XorRALINK_RT305Xwhich are both not available inKconfig
> >> >> so all Code depending on that can't ever be selected and, if there's
> >> >> no plan to add these options, should be cleaned up
> >> >>
> >> >> Signed-off-by: Christoph Egger <[email protected] <mailto:[email protected]>>
> >> >
> >> > NAK,
> >> >
> >> > this is not dead code, it is needed for the Ralink System-on-Chip
> >> > Platform devices.
> >> >
> >> > While I can't fixKconfigerrors and the current KConfig file may be
> >> > wrong, this code cannot and will not be deleted.
> >>
> >> When the config option was introduced, the config optionsRALINK_RT288Xand
> >>RALINK_RT305Xwere supposed to be merged as well soon after by somebody (Felix?)
> >>
> >> But since testing is done on SoC boards by Helmut and Felix, I assume the code
> >> isn't dead but actually in use.
> >
> > Perhaps Helmut and Felix can send us the missing code?
> The missing code is a MIPS platform port, which is currently being
> maintained in OpenWrt, but is not ready for upstream submission yet.
> I'm not working on this code at the moment, but I think it will be
> submitted once it's ready.People are using automatic scripts to catch unused config options nowadays so the issue is quite likely to come back again sooner or later..
Would it be possible to improve situation somehow till the missing parts get merged? Maybe by adding a tiny comment documenting
RT2800PCI_SOCsituation toKconfig(if the config option itself really cannot be removed) until all code is ready etc.?Quoted 4 lines
Or we could just remove
RT2800PCI_SOCcompletely and build the soc specific parts always as part of rt2800pci. I mean it's not much code, just the platform driver stuff and the eeprom access.Quoted 4 lines
I'm not sure if that is feasible. Sure, we can reduce the usage of the variable by unconditionally compiling in the generic SOC code, but we should not unconditionally register the SOC platform device, which is currently also under the scope of this
Kconfigvariable.
Quoted 6 lines
Ehm, no, the platform device is not registered in rt2800pci at all, it's just the platform
driver that gets registered there. The platform device will be registered in the according
board init code (that only resides in openwrt at the moment).
OK. Didn't know that. Sounds good then.
However, I've tried this in my local tree, and now compilation fails on the x86 platform due to a missing KSEG1ADDR macro. How do you suggest to handle the potentially missing macro?
---
Gertjan.
Re: [PATCH 01/11] Removing dead RT2800PCI_SOC
Am Freitag 16 Juli 2010 schrieb Gertjan van Wingerde:
Quoted 65 lines · Helmut Schaa
Quoted 57 lines
Quoted 50 lines · Gertjan van Wingerde
Quoted 43 lines · Helmut Schaa
On Thu, Jul 15, 2010 at 10:41 AM, Bartlomiej Zolnierkiewicz <[email protected] <mailto:[email protected]>> wrote:
On Wednesday 14 July 2010 04:44:44 pm Felix Fietkau wrote:
> On 2010-07-14 3:15 PM, John W. Linville wrote:
> > On Wed, Jul 14, 2010 at 02:52:14PM +0200, Ivo Van Doorn wrote:
> >> On Wed, Jul 14, 2010 at 2:46 PM, Luis Correia <[email protected] <mailto:[email protected]>> wrote:
> >> > On Wed, Jul 14, 2010 at 13:39, Christoph Egger <[email protected] <mailto:[email protected]>> wrote:
> >> >> WhileRT2800PCI_SOCexists inKconfig, it depends on either
> >> >>RALINK_RT288XorRALINK_RT305Xwhich are both not available inKconfig
> >> >> so all Code depending on that can't ever be selected and, if there's
> >> >> no plan to add these options, should be cleaned up
> >> >>
> >> >> Signed-off-by: Christoph Egger <[email protected] <mailto:[email protected]>>
> >> >
> >> > NAK,
> >> >
> >> > this is not dead code, it is needed for the Ralink System-on-Chip
> >> > Platform devices.
> >> >
> >> > While I can't fixKconfigerrors and the current KConfig file may be
> >> > wrong, this code cannot and will not be deleted.
> >>
> >> When the config option was introduced, the config optionsRALINK_RT288Xand
> >>RALINK_RT305Xwere supposed to be merged as well soon after by somebody (Felix?)
> >>
> >> But since testing is done on SoC boards by Helmut and Felix, I assume the code
> >> isn't dead but actually in use.
> >
> > Perhaps Helmut and Felix can send us the missing code?
> The missing code is a MIPS platform port, which is currently being
> maintained in OpenWrt, but is not ready for upstream submission yet.
> I'm not working on this code at the moment, but I think it will be
> submitted once it's ready.People are using automatic scripts to catch unused config options nowadays so the issue is quite likely to come back again sooner or later..
Would it be possible to improve situation somehow till the missing parts get merged? Maybe by adding a tiny comment documenting
RT2800PCI_SOCsituation toKconfig(if the config option itself really cannot be removed) until all code is ready etc.?Quoted 4 lines
Or we could just remove
RT2800PCI_SOCcompletely and build the soc specific parts always as part of rt2800pci. I mean it's not much code, just the platform driver stuff and the eeprom access.Quoted 4 lines
I'm not sure if that is feasible. Sure, we can reduce the usage of the variable by unconditionally compiling in the generic SOC code, but we should not unconditionally register the SOC platform device, which is currently also under the scope of this
Kconfigvariable.Quoted 6 lines
Ehm, no, the platform device is not registered in rt2800pci at all, it's just the platform
driver that gets registered there. The platform device will be registered in the according
board init code (that only resides in openwrt at the moment).
Quoted 5 lines
OK. Didn't know that. Sounds good then.
However, I've tried this in my local tree, and now compilation fails on the x86 platform due to a missing KSEG1ADDR macro. How do you suggest to handle the potentially missing macro?
We can convert it to an ioremap call, that should be available on all platforms.
Helmut
Re: [PATCH 01/11] Removing dead RT2800PCI_SOC
In reply to Ivo Van DoornQuoted 17 lines · Ivo Van Doorn
Quoted 8 lines · Luis Correia
Quoted 6 lines · Christoph Egger
While
RT2800PCI_SOCexists inKconfig, it depends on eitherRALINK_RT288XorRALINK_RT305Xwhich are both not available inKconfigso all Code depending on that can't ever be selected and, if there's no plan to add these options, should be cleaned upSigned-off-by Christoph Egger <[email protected]>Quoted 7 lines
NAK,
this is not dead code, it is needed for the Ralink System-on-Chip Platform devices.
While I can't fix
Kconfigerrors and the current KConfig file may be wrong, this code cannot and will not be deleted.
Quoted 7 lines
When the config option was introduced, the config options
RALINK_RT288XandRALINK_RT305Xwere supposed to be merged as well soon after by somebody (Felix?)But since testing is done on SoC boards by Helmut and Felix, I assume the code isn't dead but actually in use.
Ivo
I fully agree with Luis and Ivo that the proposed patch is invalid and shouldn't be applied (the "code cannot and will not be deleted" anyway)..
[ Under "The New Normal" rules the code doesn't even have to work to be
merged and/or stay in the kernel so 9 months of code not being used by any real user doesn't matter a tiny bit.. ]
--
Bartlomiej Zolnierkiewicz
PATCH 2/11 Removing dead {AR,WAVE}LAN
In reply to Christoph Egger{AR,WAVE}LAN doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/Space.c | 6 ------ 1 files changed, 0 insertions(+), 6 deletions(-)
drivers/net/Space.c +0 -6
@@ -218,12 +218,6 @@ static struct devprobe2 isa_probes[] __initdata = { #ifdef CONFIG_EL1 /* 3c501 */ {el1_probe, 0}, #endif -#ifdef CONFIG_WAVELAN /* WaveLAN */ - {wavelan_probe, 0}, -#endif -#ifdef CONFIG_ARLAN /* Aironet */ - {arlan_probe, 0}, -#endif #ifdef CONFIG_EL16 /* 3c507 */ {el16_probe, 0}, #endif
Signature · 1 line
1.7.0.4
Re: [PATCH 02/11] Removing dead {AR,WAVE}LAN
From: Christoph Egger <[email protected]>
Date: Wed, 14 Jul 2010 14:39:52 +0200
Quoted 4 lines
{AR,WAVE}LAN doesn't exist in
Kconfig, therefore removing all references for it from the source code.Signed-off-by Christoph Egger <[email protected]>
Applied to net-next-2.6
PATCH 3/11 Removing dead CASSINI_QGE_DEBUG
In reply to Christoph EggerCASSINI_QGE_DEBUG doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/cassini.h | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-)
drivers/net/cassini.h +0 -4
@@ -2844,10 +2844,6 @@ struct cas {atomic_t reset_task_pending_all;#endif -#ifdef CONFIG_CASSINI_QGE_DEBUG -atomic_t interrupt_seen;/* 1 if any interrupts are getting through */ -#endif -/* Link-down problem workaround */ #define LINK_TRANSITION_UNKNOWN 0#define LINK_TRANSITION_ON_FAILURE 1
Signature · 1 line
1.7.0.4
Re: [PATCH 03/11] Removing dead CASSINI_QGE_DEBUG
From: Christoph Egger <[email protected]>
Date: Wed, 14 Jul 2010 14:39:58 +0200
Quoted 4 lines
CASSINI_QGE_DEBUGdoesn't exist inKconfig, therefore removing all references for it from the source code.Signed-off-by Christoph Egger <[email protected]>
Applied, thanks.
PATCH 4/11 Removing dead CASSINI_MULTICAST_REG_WRITE
In reply to Christoph EggerCASSINI_MULTICAST_REG_WRITE doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/cassini.c | 20 +------------------- 1 files changed, 1 insertions(+), 19 deletions(-)
drivers/net/cassini.c +1 -19
@@ -3063,9 +3063,6 @@ static void cas_init_mac(struct cas *cp) {unsigned char *e = &cp->dev->dev_addr[0 ];int i; -#ifdef CONFIG_CASSINI_MULTICAST_REG_WRITE -u32 rxcfg; -#endif cas_mac_reset (cp);/* setup core arbitration weight register */
@@ -3133,23 +3130,8 @@ static void cas_init_mac(struct cas *cp)writel (0xc200 , cp->regs +REG_MAC_ADDRN (43 ));writel (0x0180 , cp->regs +REG_MAC_ADDRN (44 )); -#ifndef CONFIG_CASSINI_MULTICAST_REG_WRITE cp->mac_rx_cfg =cas_setup_multicast (cp); -#else -/* WTZ: Do what Adrian did in cas_set_multicast. Doing -* a writel does not seem to be necessary because Cassini -* seems to preserve the configuration when we do the reset. -* If the chip is in trouble, though, it is not clear if we -* can really count on this behavior. cas_set_multicast uses -* spin_lock_irqsave, but we are called only in cas_init_hw and -* cas_init_hw is protected by cas_lock_all, which calls -* spin_lock_irq (so it doesn't need to save the flags, and -* we should be OK for the writel, as that is the only -* difference). -*/ - cp->mac_rx_cfg = rxcfg =cas_setup_multicast (cp); -writel (rxcfg, cp->regs +REG_MAC_RX_CFG ); -#endif +spin_lock (&cp->stat_lock[N_TX_RINGS ]);cas_clear_mac_err (cp);spin_unlock (&cp->stat_lock[N_TX_RINGS ]);
Signature · 1 line
1.7.0.4
PATCH 4/11 Removing dead CASSINI_MULTICAST_REG_WRITE
In reply to Christoph EggerCASSINI_MULTICAST_REG_WRITE doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/cassini.c | 20 +------------------- 1 files changed, 1 insertions(+), 19 deletions(-)
drivers/net/cassini.c +1 -19
@@ -3063,9 +3063,6 @@ static void cas_init_mac(struct cas *cp) {unsigned char *e = &cp->dev->dev_addr[0 ];int i; -#ifdef CONFIG_CASSINI_MULTICAST_REG_WRITE -u32 rxcfg; -#endif cas_mac_reset (cp);/* setup core arbitration weight register */
@@ -3133,23 +3130,8 @@ static void cas_init_mac(struct cas *cp)writel (0xc200 , cp->regs +REG_MAC_ADDRN (43 ));writel (0x0180 , cp->regs +REG_MAC_ADDRN (44 )); -#ifndef CONFIG_CASSINI_MULTICAST_REG_WRITE cp->mac_rx_cfg =cas_setup_multicast (cp); -#else -/* WTZ: Do what Adrian did in cas_set_multicast. Doing -* a writel does not seem to be necessary because Cassini -* seems to preserve the configuration when we do the reset. -* If the chip is in trouble, though, it is not clear if we -* can really count on this behavior. cas_set_multicast uses -* spin_lock_irqsave, but we are called only in cas_init_hw and -* cas_init_hw is protected by cas_lock_all, which calls -* spin_lock_irq (so it doesn't need to save the flags, and -* we should be OK for the writel, as that is the only -* difference). -*/ - cp->mac_rx_cfg = rxcfg =cas_setup_multicast (cp); -writel (rxcfg, cp->regs +REG_MAC_RX_CFG ); -#endif +spin_lock (&cp->stat_lock[N_TX_RINGS ]);cas_clear_mac_err (cp);spin_unlock (&cp->stat_lock[N_TX_RINGS ]);
Signature · 1 line
1.7.0.4
PATCH 5/11 Removing dead CASSINI_NAPI
In reply to Christoph EggerCASSINI_NAPI doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/cassini.c | 5 ----- 1 files changed, 0 insertions(+), 5 deletions(-)
drivers/net/cassini.c +0 -5
@@ -107,12 +107,7 @@#define cas_page_unmap (x) kunmap_atomic((x), KM_SKB_DATA_SOFTIRQ)#define CAS_NCPUS num_online_cpus() -#ifdef CONFIG_CASSINI_NAPI -#define USE_NAPI -#define cas_skb_release (x) netif_receive_skb(x) -#else #define cas_skb_release (x) netif_rx(x) -#endif /* select which firmware to use */ #define USE_HP_WORKAROUND
Signature · 1 line
1.7.0.4
PATCH 5/11 Removing dead CASSINI_NAPI
In reply to Christoph EggerCASSINI_NAPI doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/cassini.c | 5 ----- 1 files changed, 0 insertions(+), 5 deletions(-)
drivers/net/cassini.c +0 -5
@@ -107,12 +107,7 @@#define cas_page_unmap (x) kunmap_atomic((x), KM_SKB_DATA_SOFTIRQ)#define CAS_NCPUS num_online_cpus() -#ifdef CONFIG_CASSINI_NAPI -#define USE_NAPI -#define cas_skb_release (x) netif_receive_skb(x) -#else #define cas_skb_release (x) netif_rx(x) -#endif /* select which firmware to use */ #define USE_HP_WORKAROUND
Signature · 1 line
1.7.0.4
Re: [PATCH 05/11] Removing dead CASSINI_NAPI
From: Christoph Egger <[email protected]>
Date: Wed, 14 Jul 2010 14:40:59 +0200
Quoted 4 lines
CASSINI_NAPIdoesn't exist inKconfig, therefore removing all references for it from the source code.Signed-off-by Christoph Egger <[email protected]>
Applied.
PATCH 6/11 Removing dead CHELSIO_T1_COUGAR
In reply to Christoph EggerCHELSIO_T1_COUGAR doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/chelsio/subr.c | 48 +------------------------------------------ 1 files changed, 2 insertions(+), 46 deletions(-)
drivers/net/chelsio/subr.c +2 -46
@@ -185,9 +185,6 @@ static int t1_pci_intr_handler(adapter_t *adapter)return 0 ; } -#ifdef CONFIG_CHELSIO_T1_COUGAR -#include "cspi.h" -#endif #ifdef CONFIG_CHELSIO_T1_1G #include "fpga_defs.h"
@@ -280,7 +277,7 @@ static void mi1_mdio_init(adapter_t *adapter, const struct board_info *bi)t1_tpi_write (adapter,A_ELMER0_PORT0_MI1_CFG , val); } -#if defined(CONFIG_CHELSIO_T1_1G ) || defined(CONFIG_CHELSIO_T1_COUGAR ) +#if defined(CONFIG_CHELSIO_T1_1G )/* * Elmer MI1 MDIO read/write operations. */
@@ -317,7 +314,7 @@ static int mi1_mdio_write(struct net_device *dev, int phy_addr, int mmd_addr,return 0 ; } -#if defined(CONFIG_CHELSIO_T1_1G ) || defined(CONFIG_CHELSIO_T1_COUGAR ) +#if defined(CONFIG_CHELSIO_T1_1G )static const struct mdio_ops mi1_mdio_ops = { .init = mi1_mdio_init, .read = mi1_mdio_read,
@@ -752,31 +749,6 @@ int t1_elmer0_ext_intr_handler(adapter_t *adapter) mod_detect ? "removed" : "inserted"); }break ; -#ifdef CONFIG_CHELSIO_T1_COUGAR -case CHBT_BOARD_COUGAR : -if (adapter->params.nports ==1 ) { -if (cause &ELMER0_GP_BIT1 ) {/* Vitesse MAC */ -struct cmac *mac = adapter->port[0 ].mac; - mac->ops->interrupt_handler (mac); - } -if (cause &ELMER0_GP_BIT5 ) {/* XPAK MOD_DETECT */ - } - }else { -int i, port_bit; - -for_each_port (adapter, i) { - port_bit = i ? i +1 :0 ; -if (!(cause & (1 << port_bit))) -continue ; - - phy = adapter->port[i].phy; - phy_cause = phy->ops->interrupt_handler (phy); -if (phy_cause & cphy_cause_link_change) -t1_link_changed (adapter, i); - } - } -break ; -#endif }t1_tpi_write (adapter,A_ELMER0_INT_CAUSE , cause);return 0 ;
@@ -1004,10 +976,6 @@ int t1_init_hw_modules(adapter_t *adapter) adapter->regs + A_MC5_CONFIG); } -#ifdef CONFIG_CHELSIO_T1_COUGAR -if (adapter->cspi &&t1_cspi_init (adapter->cspi)) - goto out_err; -#endif if (adapter->espi &&t1_espi_init (adapter->espi, bi->chip_mac, bi->espi_nports)) goto out_err;
@@ -1061,10 +1029,6 @@ void t1_free_sw_modules(adapter_t *adapter)t1_tp_destroy (adapter->tp);if (adapter->espi)t1_espi_destroy (adapter->espi); -#ifdef CONFIG_CHELSIO_T1_COUGAR -if (adapter->cspi) -t1_cspi_destroy (adapter->cspi); -#endif } static void __devinit init_link_config(struct link_config *lc,
@@ -1084,14 +1048,6 @@ static void __devinit init_link_config(struct link_config *lc, } } -#ifdef CONFIG_CHELSIO_T1_COUGAR -if (bi->clock_cspi && !(adapter->cspi =t1_cspi_create (adapter))) { -pr_err ("%s: CSPI initialization failed\n" , - adapter->name); - goto error; - } -#endif -/* * Allocate and initialize the data structures that hold the SW state of * the Terminator HW modules.
Signature · 1 line
1.7.0.4
David Miller
maintainerRe: [PATCH 06/11] Removing dead CHELSIO_T1_COUGAR
From: Christoph Egger <[email protected]>
Date: Wed, 14 Jul 2010 14:41:04 +0200
Quoted 4 lines
CHELSIO_T1_COUGARdoesn't exist inKconfig, therefore removing all references for it from the source code.Signed-off-by Christoph Egger <[email protected]>
This has already been eliminated in the net-next-2.6 by other changes.
Thanks.
PATCH 7/11 Removing dead ARCH_PNX010X
In reply to Christoph EggerARCH_PNX010X doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/cs89x0.c | 45 --------------------------------------------- 1 files changed, 0 insertions(+), 45 deletions(-)
drivers/net/cs89x0.c +0 -45
@@ -180,12 +180,6 @@ static unsigned int cs8900_irq_map[] = {IRQ_IXDP2351_CS8900, 0, 0, 0};#elif defined(CONFIG_ARCH_IXDP2X01 )static unsigned int netcard_portlist[]__used __initdata = {IXDP2X01_CS8900_VIRT_BASE ,0 };static unsigned int cs8900_irq_map[] = {IRQ_IXDP2X01_CS8900 ,0 ,0 ,0 }; -#elif defined(CONFIG_ARCH_PNX010X ) -#include <mach/gpio.h> -#define CIRRUS_DEFAULT_BASE IO_ADDRESS(EXT_STATIC2_s0_BASE + 0x200000)/* = Physical address 0x48200000 */ -#define CIRRUS_DEFAULT_IRQ VH_INTC_INT_NUM_CASCADED_INTERRUPT_1/* Event inputs bank 1 - ID 35/bit 3 */ -static unsigned int netcard_portlist[]__used __initdata = {CIRRUS_DEFAULT_BASE ,0 }; -static unsigned int cs8900_irq_map[] = {CIRRUS_DEFAULT_IRQ ,0 ,0 ,0 };#elif defined(CONFIG_MACH_MX31ADS )#include <mach/board-mx31ads.h> static unsigned int netcard_portlist[] __used __initdata = {
@@ -372,18 +366,6 @@ writeword(unsigned long base_addr, int portno, u16 value) {__raw_writel (value, base_addr + (portno <<1 )); } -#elif defined(CONFIG_ARCH_PNX010X ) -static u16 -readword (unsigned long base_addr,int portno) -{ -return inw (base_addr + (portno <<1 )); -} - -static void -writeword (unsigned long base_addr,int portno,u16 value) -{ -outw (value, base_addr + (portno <<1 )); -}#else static u16 readword (unsigned long base_addr,int portno)
@@ -546,30 +528,6 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular)#endif } -#ifdef CONFIG_ARCH_PNX010X -initialize_ebi (); - -/* Map GPIO registers for the pins connected to the CS8900a. */ -if (map_cirrus_gpio () <0 ) -return -ENODEV ; - -reset_cirrus (); - -/* Map event-router registers. */ -if (map_event_router () <0 ) -return -ENODEV ; - -enable_cirrus_irq (); - -unmap_cirrus_gpio (); -unmap_event_router (); - - dev->base_addr = ioaddr; - -for (i =0 ; i <3 ; i++) -readreg (dev,0 ); -#endif -/* Grab the region so we can find another board if autoIRQ fails. */ /* WTF is going on here? */ if (!request_region (ioaddr & ~3 ,NETCARD_IO_EXTENT ,DRV_NAME )) {
@@ -1391,9 +1349,6 @@ net_open(struct net_device *dev)case A_CNF_MEDIA_10B_2 : result = lp->adapter_cnf &A_CNF_10B_2 ;break ;default : result = lp->adapter_cnf & (A_CNF_10B_T |A_CNF_AUI |A_CNF_10B_2 ); } -#ifdef CONFIG_ARCH_PNX010X - result =A_CNF_10B_T ; -#endif if (!result) {printk (KERN_ERR "%s: EEPROM is configured for unavailable media\n" , dev->name); release_dma:
Signature · 1 line
1.7.0.4
PATCH 7/11 Removing dead ARCH_PNX010X
In reply to Christoph EggerARCH_PNX010X doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/cs89x0.c | 45 --------------------------------------------- 1 files changed, 0 insertions(+), 45 deletions(-)
drivers/net/cs89x0.c +0 -45
@@ -180,12 +180,6 @@ static unsigned int cs8900_irq_map[] = {IRQ_IXDP2351_CS8900, 0, 0, 0};#elif defined(CONFIG_ARCH_IXDP2X01 )static unsigned int netcard_portlist[]__used __initdata = {IXDP2X01_CS8900_VIRT_BASE ,0 };static unsigned int cs8900_irq_map[] = {IRQ_IXDP2X01_CS8900 ,0 ,0 ,0 }; -#elif defined(CONFIG_ARCH_PNX010X ) -#include <mach/gpio.h> -#define CIRRUS_DEFAULT_BASE IO_ADDRESS(EXT_STATIC2_s0_BASE + 0x200000)/* = Physical address 0x48200000 */ -#define CIRRUS_DEFAULT_IRQ VH_INTC_INT_NUM_CASCADED_INTERRUPT_1/* Event inputs bank 1 - ID 35/bit 3 */ -static unsigned int netcard_portlist[]__used __initdata = {CIRRUS_DEFAULT_BASE ,0 }; -static unsigned int cs8900_irq_map[] = {CIRRUS_DEFAULT_IRQ ,0 ,0 ,0 };#elif defined(CONFIG_MACH_MX31ADS )#include <mach/board-mx31ads.h> static unsigned int netcard_portlist[] __used __initdata = {
@@ -372,18 +366,6 @@ writeword(unsigned long base_addr, int portno, u16 value) {__raw_writel (value, base_addr + (portno <<1 )); } -#elif defined(CONFIG_ARCH_PNX010X ) -static u16 -readword (unsigned long base_addr,int portno) -{ -return inw (base_addr + (portno <<1 )); -} - -static void -writeword (unsigned long base_addr,int portno,u16 value) -{ -outw (value, base_addr + (portno <<1 )); -}#else static u16 readword (unsigned long base_addr,int portno)
@@ -546,30 +528,6 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular)#endif } -#ifdef CONFIG_ARCH_PNX010X -initialize_ebi (); - -/* Map GPIO registers for the pins connected to the CS8900a. */ -if (map_cirrus_gpio () <0 ) -return -ENODEV ; - -reset_cirrus (); - -/* Map event-router registers. */ -if (map_event_router () <0 ) -return -ENODEV ; - -enable_cirrus_irq (); - -unmap_cirrus_gpio (); -unmap_event_router (); - - dev->base_addr = ioaddr; - -for (i =0 ; i <3 ; i++) -readreg (dev,0 ); -#endif -/* Grab the region so we can find another board if autoIRQ fails. */ /* WTF is going on here? */ if (!request_region (ioaddr & ~3 ,NETCARD_IO_EXTENT ,DRV_NAME )) {
@@ -1391,9 +1349,6 @@ net_open(struct net_device *dev)case A_CNF_MEDIA_10B_2 : result = lp->adapter_cnf &A_CNF_10B_2 ;break ;default : result = lp->adapter_cnf & (A_CNF_10B_T |A_CNF_AUI |A_CNF_10B_2 ); } -#ifdef CONFIG_ARCH_PNX010X - result =A_CNF_10B_T ; -#endif if (!result) {printk (KERN_ERR "%s: EEPROM is configured for unavailable media\n" , dev->name); release_dma:
Signature · 1 line
1.7.0.4
David Miller
maintainerRe: [PATCH 07/11] Removing dead ARCH_PNX010X
From: Christoph Egger <[email protected]>
Date: Wed, 14 Jul 2010 14:41:09 +0200
Quoted 4 lines
ARCH_PNX010Xdoesn't exist inKconfig, therefore removing all references for it from the source code.Signed-off-by Christoph Egger <[email protected]>
If you are going to kill this off, kill the references in driver/net/Kconfig at the same time.
Please fix this up and resubmit your patch, thanks.
Re: [PATCH 07/11] Removing dead ARCH_PNX010X
Quoted 6 lines · David Miller
From: Christoph Egger <[email protected]>
Date: Wed, 14 Jul 2010 14:41:09 +0200Quoted 3 lines
ARCH_PNX010Xdoesn't exist inKconfig, therefore removing all references for it from the source code.
Quoted 6 lines
Quoted 1 line
Signed-off-by Christoph Egger <[email protected]>If you are going to kill this off, kill the references in driver/net/Kconfig at the same time.
Please fix this up and resubmit your patch, thanks.
DOne, patch below
Thanks
CHristoph
---
Quoted 1 line
From
ed6ffbfd77e14f17fa7d75ddf70b0d3b0126848cMon Sep 17 00:00:00 2001
From: Christoph Egger <[email protected]>
Date: Wed, 14 Jul 2010 14:19:15 +0200
Subject: [PATCH] Removing dead ARCH_PNX010X
ARCH_PNX010X doesn't exist in Kconfig, therefore removing all references for it from the source code/Kconfig.
--- drivers/net/Kconfig | 4 ++-- drivers/net/cs89x0.c | 45 --------------------------------------------- 2 files changed, 2 insertions(+), 47 deletions(-)
drivers/net/Kconfig +2 -2
@@ -1463,7 +1463,7 @@ config FORCEDETH config CS89x0 tristate "CS89x0 support" depends on NET_ETHERNET && (ISA || EISA || MACH_IXDP2351 \ - || ARCH_IXDP2X01 || ARCH_PNX010X || MACH_MX31ADS) + || ARCH_IXDP2X01 || MACH_MX31ADS) ---help--- Support for CS89x0 chipset based Ethernet cards. If you have a network (Ethernet) card of this type, say Y and read the
@@ -1477,7 +1477,7 @@ config CS89x0 config CS89x0_NONISA_IRQ def_bool y depends on CS89x0 != n - depends on MACH_IXDP2351 || ARCH_IXDP2X01 || ARCH_PNX010X || MACH_MX31ADS + depends on MACH_IXDP2351 || ARCH_IXDP2X01 || MACH_MX31ADS config TC35815 tristate "TOSHIBA TC35815 Ethernet support"
drivers/net/cs89x0.c +0 -45
69 lines not on this page · raw message
Signature · 1 line
1.7.0.4
PATCH 8/11 Removing dead SH_HICOSH4
In reply to Christoph EggerSH_HICOSH4 doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/cs89x0.c | 51 +------------------------------------------------ drivers/net/cs89x0.h | 4 --- 2 files changed, 2 insertions(+), 53 deletions(-)
drivers/net/cs89x0.c +2 -49
@@ -170,11 +170,7 @@ static char version[] __initdata =/* The cs8900 has 4 IRQ pins, software selectable. cs8900_irq_map maps them to system IRQ numbers. This mapping is card specific and is set to the configuration of the Cirrus Eval board for this chip. */ -#if defined(CONFIG_SH_HICOSH4 ) -static unsigned int netcard_portlist[]__used __initdata = - {0x0300 ,0 }; -static unsigned int cs8900_irq_map[] = {1 ,0 ,0 ,0 }; -#elif defined(CONFIG_MACH_IXDP2351 ) +#if defined(CONFIG_MACH_IXDP2351 )static unsigned int netcard_portlist[]__used __initdata = {IXDP2351_VIRT_CS8900_BASE ,0 };static unsigned int cs8900_irq_map[] = {IRQ_IXDP2351_CS8900 ,0 ,0 ,0 };#elif defined(CONFIG_ARCH_IXDP2X01 )
@@ -537,12 +533,6 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular) goto out1; } -#ifdef CONFIG_SH_HICOSH4 -/* truly reset the chip */ -writeword (ioaddr,ADD_PORT ,0x0114 ); -writeword (ioaddr,DATA_PORT ,0x0040 ); -#endif -/* if they give us an odd I/O address, then do ONE write to the address port, to get it back to address zero, where we expect to find the EISA signature word. An IO with a base of 0x3
@@ -608,37 +598,6 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular)the driver will always do *something* instead of complain that adapter_cnf is 0. */ -#ifdef CONFIG_SH_HICOSH4 -if (1 ) { -/* For the HiCO.SH4 board, things are different: we don't -have EEPROM, but there is some data in flash, so we go -get it there directly (MAC). */ -__u16 *confd; -short cnt; -if (((* (volatile __u32 *)0xa0013ff0 ) &0x00ffffff ) - ==0x006c3000 ) { - confd = (__u16 *)0xa0013fc0 ; - }else { - confd = (__u16 *)0xa001ffc0 ; - } - cnt = (*confd++ &0x00ff ) >>1 ; -while (--cnt >0 ) { -__u16 j = *confd++; - -switch (j &0x0fff ) { -case PP_IA : -for (i =0 ; i <ETH_ALEN /2 ; i++) { - dev->dev_addr[i*2 ] = confd[i] &0xFF ; - dev->dev_addr[i*2 +1 ] = confd[i] >>8 ; - } -break ; - } - j = (j >>12 ) +1 ; - confd += j; - cnt -= j; - } - } else -#endif if ((readreg (dev, PP_SelfST) & (EEPROM_OK |EEPROM_PRESENT )) == (EEPROM_OK |EEPROM_PRESENT )) {
@@ -693,11 +652,7 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular)printk ("\n" );/* First check to see if an EEPROM is attached. */ -#ifdef CONFIG_SH_HICOSH4 /* no EEPROM on HiCO, don't hazzle with it here */ -if (1 ) { -printk (KERN_NOTICE "cs89x0: No EEPROM on HiCO.SH4\n" ); - } else -#endif +if ((readreg (dev, PP_SelfST) &EEPROM_PRESENT ) ==0 )printk (KERN_WARNING "cs89x0: No EEPROM, relying on command line....\n" );else if (get_eeprom_data (dev,START_EEPROM_DATA ,CHKSUM_LEN ,eeprom_buff) <0 ) {
@@ -1234,7 +1189,6 @@ net_open(struct net_device *dev)int i;int ret; -#if !defined(CONFIG_SH_HICOSH4 ) && !defined(CONFIG_ARCH_PNX010X )/* uses irq#1, so this won't work */ if (dev->irq <2 ) {/* Allow interrupts to be generated by the chip */ /* Cirrus' release had this: */
@@ -1263,7 +1217,6 @@ net_open(struct net_device *dev) } }else -#endif {#ifndef CONFIG_CS89x0_NONISA_IRQif (((1 << dev->irq) & lp->irq_map) ==0 ) {
drivers/net/cs89x0.h +0 -4
@@ -437,11 +437,7 @@#define IRQ_MAP_EEPROM_DATA 0x0046/* Offset into eeprom for the IRQ map */ #define IRQ_MAP_LEN 0x0004/* No of bytes to read for the IRQ map */ #define PNP_IRQ_FRMT 0x0022/* PNP small item IRQ format */ -#ifdef CONFIG_SH_HICOSH4 -#define CS8900_IRQ_MAP 0x0002/* HiCO-SH4 board has its IRQ on #1 */ -#else #define CS8900_IRQ_MAP 0x1c20/* This IRQ map is fixed */ -#endif #define CS8920_NO_INTS 0x0F/* Max CS8920 interrupt select # */
Signature · 1 line
1.7.0.4
PATCH 8/11 Removing dead SH_HICOSH4
In reply to Christoph EggerSH_HICOSH4 doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/cs89x0.c | 51 +------------------------------------------------ drivers/net/cs89x0.h | 4 --- 2 files changed, 2 insertions(+), 53 deletions(-)
drivers/net/cs89x0.c +2 -49
@@ -170,11 +170,7 @@ static char version[] __initdata =/* The cs8900 has 4 IRQ pins, software selectable. cs8900_irq_map maps them to system IRQ numbers. This mapping is card specific and is set to the configuration of the Cirrus Eval board for this chip. */ -#if defined(CONFIG_SH_HICOSH4 ) -static unsigned int netcard_portlist[]__used __initdata = - {0x0300 ,0 }; -static unsigned int cs8900_irq_map[] = {1 ,0 ,0 ,0 }; -#elif defined(CONFIG_MACH_IXDP2351 ) +#if defined(CONFIG_MACH_IXDP2351 )static unsigned int netcard_portlist[]__used __initdata = {IXDP2351_VIRT_CS8900_BASE ,0 };static unsigned int cs8900_irq_map[] = {IRQ_IXDP2351_CS8900 ,0 ,0 ,0 };#elif defined(CONFIG_ARCH_IXDP2X01 )
@@ -537,12 +533,6 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular) goto out1; } -#ifdef CONFIG_SH_HICOSH4 -/* truly reset the chip */ -writeword (ioaddr,ADD_PORT ,0x0114 ); -writeword (ioaddr,DATA_PORT ,0x0040 ); -#endif -/* if they give us an odd I/O address, then do ONE write to the address port, to get it back to address zero, where we expect to find the EISA signature word. An IO with a base of 0x3
@@ -608,37 +598,6 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular)the driver will always do *something* instead of complain that adapter_cnf is 0. */ -#ifdef CONFIG_SH_HICOSH4 -if (1 ) { -/* For the HiCO.SH4 board, things are different: we don't -have EEPROM, but there is some data in flash, so we go -get it there directly (MAC). */ -__u16 *confd; -short cnt; -if (((* (volatile __u32 *)0xa0013ff0 ) &0x00ffffff ) - ==0x006c3000 ) { - confd = (__u16 *)0xa0013fc0 ; - }else { - confd = (__u16 *)0xa001ffc0 ; - } - cnt = (*confd++ &0x00ff ) >>1 ; -while (--cnt >0 ) { -__u16 j = *confd++; - -switch (j &0x0fff ) { -case PP_IA : -for (i =0 ; i <ETH_ALEN /2 ; i++) { - dev->dev_addr[i*2 ] = confd[i] &0xFF ; - dev->dev_addr[i*2 +1 ] = confd[i] >>8 ; - } -break ; - } - j = (j >>12 ) +1 ; - confd += j; - cnt -= j; - } - } else -#endif if ((readreg (dev, PP_SelfST) & (EEPROM_OK |EEPROM_PRESENT )) == (EEPROM_OK |EEPROM_PRESENT )) {
@@ -693,11 +652,7 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular)printk ("\n" );/* First check to see if an EEPROM is attached. */ -#ifdef CONFIG_SH_HICOSH4 /* no EEPROM on HiCO, don't hazzle with it here */ -if (1 ) { -printk (KERN_NOTICE "cs89x0: No EEPROM on HiCO.SH4\n" ); - } else -#endif +if ((readreg (dev, PP_SelfST) &EEPROM_PRESENT ) ==0 )printk (KERN_WARNING "cs89x0: No EEPROM, relying on command line....\n" );else if (get_eeprom_data (dev,START_EEPROM_DATA ,CHKSUM_LEN ,eeprom_buff) <0 ) {
@@ -1234,7 +1189,6 @@ net_open(struct net_device *dev)int i;int ret; -#if !defined(CONFIG_SH_HICOSH4 ) && !defined(CONFIG_ARCH_PNX010X )/* uses irq#1, so this won't work */ if (dev->irq <2 ) {/* Allow interrupts to be generated by the chip */ /* Cirrus' release had this: */
@@ -1263,7 +1217,6 @@ net_open(struct net_device *dev) } }else -#endif {#ifndef CONFIG_CS89x0_NONISA_IRQif (((1 << dev->irq) & lp->irq_map) ==0 ) {
drivers/net/cs89x0.h +0 -4
@@ -437,11 +437,7 @@#define IRQ_MAP_EEPROM_DATA 0x0046/* Offset into eeprom for the IRQ map */ #define IRQ_MAP_LEN 0x0004/* No of bytes to read for the IRQ map */ #define PNP_IRQ_FRMT 0x0022/* PNP small item IRQ format */ -#ifdef CONFIG_SH_HICOSH4 -#define CS8900_IRQ_MAP 0x0002/* HiCO-SH4 board has its IRQ on #1 */ -#else #define CS8900_IRQ_MAP 0x1c20/* This IRQ map is fixed */ -#endif #define CS8920_NO_INTS 0x0F/* Max CS8920 interrupt select # */
Signature · 1 line
1.7.0.4
Re: [PATCH 08/11] Removing dead SH_HICOSH4
From: Christoph Egger <[email protected]>
Date: Wed, 14 Jul 2010 14:41:14 +0200
Quoted 4 lines
SH_HICOSH4doesn't exist inKconfig, therefore removing all references for it from the source code.Signed-off-by Christoph Egger <[email protected]>
Applied.
PATCH 9/11 Removing dead ETRAX_NETWORK_RED_ON_NO_CONNECTION
In reply to Christoph EggerETRAX_NETWORK_RED_ON_NO_CONNECTION doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/cris/eth_v10.c | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-)
drivers/net/cris/eth_v10.c +0 -4
@@ -1702,11 +1702,7 @@ e100_set_network_leds(int active)if (!current_speed) {/* Make LED red, link is down */ -#if defined(CONFIG_ETRAX_NETWORK_RED_ON_NO_CONNECTION ) -CRIS_LED_NETWORK_SET (CRIS_LED_RED ); -#else CRIS_LED_NETWORK_SET (CRIS_LED_OFF ); -#endif }else if (light_leds) {if (current_speed ==10 ) {CRIS_LED_NETWORK_SET (CRIS_LED_ORANGE );
Signature · 1 line
1.7.0.4
PATCH 9/11 Removing dead ETRAX_NETWORK_RED_ON_NO_CONNECTION
In reply to Christoph EggerETRAX_NETWORK_RED_ON_NO_CONNECTION doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/cris/eth_v10.c | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-)
drivers/net/cris/eth_v10.c +0 -4
@@ -1702,11 +1702,7 @@ e100_set_network_leds(int active)if (!current_speed) {/* Make LED red, link is down */ -#if defined(CONFIG_ETRAX_NETWORK_RED_ON_NO_CONNECTION ) -CRIS_LED_NETWORK_SET (CRIS_LED_RED ); -#else CRIS_LED_NETWORK_SET (CRIS_LED_OFF ); -#endif }else if (light_leds) {if (current_speed ==10 ) {CRIS_LED_NETWORK_SET (CRIS_LED_ORANGE );
Signature · 1 line
1.7.0.4
Re: [PATCH 09/11] Removing dead ETRAX_NETWORK_RED_ON_NO_CONNECTION
From: Christoph Egger <[email protected]>
Date: Wed, 14 Jul 2010 14:41:20 +0200
Quoted 4 lines
ETRAX_NETWORK_RED_ON_NO_CONNECTIONdoesn't exist inKconfig, therefore removing all references for it from the source code.Signed-off-by Christoph Egger <[email protected]>
Applied.
Re: [PATCH 09/11] Removing dead ETRAX_NETWORK_RED_ON_NO_CONNECTION
In reply to Christoph EggerQuoted 4 lines · Christoph Egger
ETRAX_NETWORK_RED_ON_NO_CONNECTIONdoesn't exist inKconfig, therefore removing all references for it from the source code.Signed-off-by Christoph Egger <[email protected]>
/^JN - Jesper Nilsson
Signature · 1 line
Jesper Nilsson -- [email protected]
PATCH 10/11 Removing dead NETWINDER_{T,R}X_DMA_PROBLEMS
In reply to Christoph EggerNETWINDER_{T,R}X_DMA_PROBLEMS doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/irda/w83977af_ir.c | 33 ++++----------------------------- 1 files changed, 4 insertions(+), 29 deletions(-)
drivers/net/irda/w83977af_ir.c +4 -29
@@ -61,10 +61,6 @@#include "w83977af.h" #include "w83977af_ir.h" -#ifdef CONFIG_ARCH_NETWINDER /* Adjust to NetWinder differences */ -#undef CONFIG_NETWINDER_TX_DMA_PROBLEMS/* Not needed */ -#define CONFIG_NETWINDER_RX_DMA_PROBLEMS /* Must have this one! */ -#endif #define CONFIG_USE_W977_PNP /* Currently needed */ #define PIO_MAX_SPEED 115200
@@ -565,11 +561,7 @@ static netdev_tx_t w83977af_hard_xmit(struct sk_buff *skb,static void w83977af_dma_write (struct w83977af_ir *self,int iobase) {__u8 set; -#ifdef CONFIG_NETWINDER_TX_DMA_PROBLEMS -unsigned long flags; -__u8 hcr; -#endif -IRDA_DEBUG (4 ,"%s(), len=%d\n" , __func__ , self->tx_buff.len); +IRDA_DEBUG (4 ,"%s(), len=%d\n" , __func__ , self->tx_buff.len);/* Save current set */ set =inb (iobase+SSR );
@@ -581,30 +573,13 @@ static void w83977af_dma_write(struct w83977af_ir *self, int iobase)/* Choose transmit DMA channel */ switch_bank (iobase,SET2 );outb (ADCR1_D_CHSW |/*ADCR1_DMA_F|*/ ADCR1_ADV_SL , iobase+ADCR1 ); -#ifdef CONFIG_NETWINDER_TX_DMA_PROBLEMS -spin_lock_irqsave (&self->lock, flags); - -disable_dma (self->io.dma); -clear_dma_ff (self->io.dma); -set_dma_mode (self->io.dma,DMA_MODE_READ ); -set_dma_addr (self->io.dma, self->tx_buff_dma); -set_dma_count (self->io.dma, self->tx_buff.len); -#else irda_setup_dma (self->io.dma, self->tx_buff_dma, self->tx_buff.len,DMA_MODE_WRITE ); -#endif self->io.direction =IO_XMIT ;/* Enable DMA */ switch_bank (iobase,SET0 ); -#ifdef CONFIG_NETWINDER_TX_DMA_PROBLEMS - hcr =inb (iobase+HCR ); -outb (hcr |HCR_EN_DMA , iobase+HCR ); -enable_dma (self->io.dma); -spin_unlock_irqrestore (&self->lock, flags); -#else outb (inb (iobase+HCR ) |HCR_EN_DMA |HCR_TX_WT , iobase+HCR ); -#endif /* Restore set register */ outb (set, iobase+SSR );
@@ -713,7 +688,7 @@ static int w83977af_dma_receive(struct w83977af_ir *self) {int iobase;__u8 set; -#ifdef CONFIG_NETWINDER_RX_DMA_PROBLEMS +#ifdef CONFIG_ARCH_NETWINDER unsigned long flags;__u8 hcr;#endif
@@ -738,7 +713,7 @@ static int w83977af_dma_receive(struct w83977af_ir *self) self->io.direction =IO_RECV ; self->rx_buff.data = self->rx_buff.head; -#ifdef CONFIG_NETWINDER_RX_DMA_PROBLEMS +#ifdef CONFIG_ARCH_NETWINDER spin_lock_irqsave (&self->lock, flags);disable_dma (self->io.dma);
@@ -761,7 +736,7 @@ static int w83977af_dma_receive(struct w83977af_ir *self)/* Enable DMA */ switch_bank (iobase,SET0 ); -#ifdef CONFIG_NETWINDER_RX_DMA_PROBLEMS +#ifdef CONFIG_ARCH_NETWINDER hcr =inb (iobase+HCR );outb (hcr |HCR_EN_DMA , iobase+HCR );enable_dma (self->io.dma);
Signature · 1 line
1.7.0.4
David Miller
maintainerRe: [PATCH 10/11] Removing dead NETWINDER_{T,R}X_DMA_PROBLEMS
From: Christoph Egger <[email protected]>
Date: Wed, 14 Jul 2010 14:41:26 +0200
Quoted 4 lines
NETWINDER_{T,R}X_DMA_PROBLEMS doesn't exist in
Kconfig, therefore removing all references for it from the source code.Signed-off-by Christoph Egger <[email protected]>
It is getting set by hand in the driver, which is undesirable but you can't just kill this stuff off like this. You have to move the settings into the appropriate Kconfig location.
I'm not applying this patch.
PATCH 11/11 Removing dead REDWOOD_{5,6}
In reply to Christoph EggerREDWOOD_{5,6} doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/smc91x.h | 37 ------------------------------------- 1 files changed, 0 insertions(+), 37 deletions(-)
drivers/net/smc91x.h +0 -37
@@ -83,43 +83,6 @@ static inline void SMC_outw(u16 val, void __iomem *ioaddr, int reg) } } -#elif defined(CONFIG_REDWOOD_5) || defined(CONFIG_REDWOOD_6) - -/* We can only do 16-bit reads and writes in the static memory space. */ -#define SMC_CAN_USE_8BIT 0 -#define SMC_CAN_USE_16BIT 1 -#define SMC_CAN_USE_32BIT 0 -#define SMC_NOWAIT 1 - -#define SMC_IO_SHIFT 0 - -#define SMC_inw (a, r) in_be16((volatile u16 *)((a) + (r))) -#define SMC_outw (v, a, r) out_be16((volatile u16 *)((a) + (r)), v) -#define SMC_insw (a, r, p, l) \ - do { \ - unsigned long __port = (a) + (r); \ - u16 *__p = (u16 *)(p); \ - int __l = (l); \ - insw(__port, __p, __l); \ - while (__l > 0) { \ - *__p = swab16(*__p); \ - __p++; \ - __l--; \ - } \ - } while (0) -#define SMC_outsw (a, r, p, l) \ - do { \ - unsigned long __port = (a) + (r); \ - u16 *__p = (u16 *)(p); \ - int __l = (l); \ - while (__l > 0) { \ -/* Believe it or not, the swab isn't needed. */ \ -outw (/* swab16 */ (*__p++), __port); \ - __l--; \ - } \ - } while (0) -#define SMC_IRQ_FLAGS (0) -#elif defined(CONFIG_SA1100_PLEB)/* We can only do 16-bit reads and writes in the static memory space. */ #define SMC_CAN_USE_8BIT 1
Signature · 1 line
1.7.0.4
PATCH 11/11 Removing dead REDWOOD_{5,6}
In reply to Christoph EggerREDWOOD_{5,6} doesn't exist in Kconfig, therefore removing all references for it from the source code.
--- drivers/net/smc91x.h | 37 ------------------------------------- 1 files changed, 0 insertions(+), 37 deletions(-)
drivers/net/smc91x.h +0 -37
@@ -83,43 +83,6 @@ static inline void SMC_outw(u16 val, void __iomem *ioaddr, int reg) } } -#elif defined(CONFIG_REDWOOD_5) || defined(CONFIG_REDWOOD_6) - -/* We can only do 16-bit reads and writes in the static memory space. */ -#define SMC_CAN_USE_8BIT 0 -#define SMC_CAN_USE_16BIT 1 -#define SMC_CAN_USE_32BIT 0 -#define SMC_NOWAIT 1 - -#define SMC_IO_SHIFT 0 - -#define SMC_inw (a, r) in_be16((volatile u16 *)((a) + (r))) -#define SMC_outw (v, a, r) out_be16((volatile u16 *)((a) + (r)), v) -#define SMC_insw (a, r, p, l) \ - do { \ - unsigned long __port = (a) + (r); \ - u16 *__p = (u16 *)(p); \ - int __l = (l); \ - insw(__port, __p, __l); \ - while (__l > 0) { \ - *__p = swab16(*__p); \ - __p++; \ - __l--; \ - } \ - } while (0) -#define SMC_outsw (a, r, p, l) \ - do { \ - unsigned long __port = (a) + (r); \ - u16 *__p = (u16 *)(p); \ - int __l = (l); \ - while (__l > 0) { \ -/* Believe it or not, the swab isn't needed. */ \ -outw (/* swab16 */ (*__p++), __port); \ - __l--; \ - } \ - } while (0) -#define SMC_IRQ_FLAGS (0) -#elif defined(CONFIG_SA1100_PLEB)/* We can only do 16-bit reads and writes in the static memory space. */ #define SMC_CAN_USE_8BIT 1
Signature · 1 line
1.7.0.4
Re: [PATCH 11/11] Removing dead REDWOOD_{5,6}
Quoted 4 lines · Christoph Egger
REDWOOD_{5,6} doesn't exist in
Kconfig, therefore removing all references for it from the source code.Signed-off-by Christoph Egger <[email protected]>
Quoted 61 lines
--- drivers/net/smc91x.h | 37 ------------------------------------- 1 files changed, 0 insertions(+), 37 deletions(-)drivers/net/smc91x.h +0
-37@@ -83,43 +83,6 @@ static inline void SMC_outw(u16 val, void __iomem *ioaddr, int reg) } } -#elif defined(CONFIG_REDWOOD_5) || defined(CONFIG_REDWOOD_6) - -/* We can only do 16-bit reads and writes in the static memory space. */ -#define SMC_CAN_USE_8BIT 0 -#define SMC_CAN_USE_16BIT 1 -#define SMC_CAN_USE_32BIT 0 -#define SMC_NOWAIT 1 - -#define SMC_IO_SHIFT 0 - -#define SMC_inw (a, r) in_be16((volatile u16 *)((a) + (r))) -#define SMC_outw (v, a, r) out_be16((volatile u16 *)((a) + (r)), v) -#define SMC_insw (a, r, p, l) \ - do { \ - unsigned long __port = (a) + (r); \ - u16 *__p = (u16 *)(p); \ - int __l = (l); \ - insw(__port, __p, __l); \ - while (__l > 0) { \ - *__p = swab16(*__p); \ - __p++; \ - __l--; \ - } \ - } while (0) -#define SMC_outsw (a, r, p, l) \ - do { \ - unsigned long __port = (a) + (r); \ - u16 *__p = (u16 *)(p); \ - int __l = (l); \ - while (__l > 0) { \ -/* Believe it or not, the swab isn't needed. */ \ -outw (/* swab16 */ (*__p++), __port); \ - __l--; \ - } \ - } while (0) -#define SMC_IRQ_FLAGS (0) -#elif defined(CONFIG_SA1100_PLEB)/* We can only do 16-bit reads and writes in the static memory space. */ #define SMC_CAN_USE_8BIT 1Signature · 7 lines
1.7.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
David Miller
maintainerRe: [PATCH 11/11] Removing dead REDWOOD_{5,6}
In reply to Christoph EggerFrom: Christoph Egger <[email protected]>
Date: Wed, 14 Jul 2010 14:41:31 +0200
Quoted 4 lines
REDWOOD_{5,6} doesn't exist in
Kconfig, therefore removing all references for it from the source code.Signed-off-by Christoph Egger <[email protected]>
Again, if you're going to kill this off you should also delete the references in drivers/net/Kconfig at the same time.
Please fix this up and resubmit your patch, thanks.