Hi.
The following patch removes a 'defined but not used' warning from drivers/
new/hp100.c when compiling without CONFIG_PCI (240t12p3). It should apply
cleanly.
--- linux-240-t12-pre3-clean/drivers/net/hp100.c Sat Nov 4 23:27:07 2000
+++ linux/drivers/net/hp100.c Sat Dec 2 16:07:27 2000
@@ -265,12 +265,14 @@
#define HP100_EISA_IDS_SIZE (sizeof(hp100_eisa_ids)/sizeof(struct hp100_eisa_id))
+#ifdef CONFIG_PCI
static struct hp100_pci_id hp100_pci_ids[] = {
{ PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_J2585A },
{ PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_J2585B },
{ PCI_VENDOR_ID_COMPEX, PCI_DEVICE_ID_COMPEX_ENET100VG4 },
{ PCI_VENDOR_ID_COMPEX2, PCI_DEVICE_ID_COMPEX2_100VG }
};
+#endif
#define HP100_PCI_IDS_SIZE (sizeof(hp100_pci_ids)/sizeof(struct hp100_pci_id))
--
Regards,
Rasmus([email protected])
We're going to turn this team around 360 degrees.
-Jason Kidd, upon his drafting to the Dallas Mavericks
Hi!
> The following patch removes a 'defined but not used' warning from drivers/
> new/hp100.c when compiling without CONFIG_PCI (240t12p3). It should apply
> cleanly.
I'd say that warning is more acceptable than #ifdef... In cases where
warnings can be eliminating without ifdefs, that's okay, but this...
Pavel
> --- linux-240-t12-pre3-clean/drivers/net/hp100.c Sat Nov 4 23:27:07 2000
> +++ linux/drivers/net/hp100.c Sat Dec 2 16:07:27 2000
> @@ -265,12 +265,14 @@
>
> #define HP100_EISA_IDS_SIZE (sizeof(hp100_eisa_ids)/sizeof(struct hp100_eisa_id))
>
> +#ifdef CONFIG_PCI
> static struct hp100_pci_id hp100_pci_ids[] = {
> { PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_J2585A },
> { PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_J2585B },
> { PCI_VENDOR_ID_COMPEX, PCI_DEVICE_ID_COMPEX_ENET100VG4 },
> { PCI_VENDOR_ID_COMPEX2, PCI_DEVICE_ID_COMPEX2_100VG }
> };
> +#endif
>
> #define HP100_PCI_IDS_SIZE (sizeof(hp100_pci_ids)/sizeof(struct hp100_pci_id))
--
I'm [email protected]. "In my country we have almost anarchy and I don't care."
Panos Katsaloulis describing me w.r.t. patents at [email protected]
[Pavel Machek]
> I'd say that warning is more acceptable than #ifdef... In cases where
> warnings can be eliminating without ifdefs, that's okay, but this...
In this case it is dead weight in the object file -- and for machines
that can least afford it (CONFIG_PCI=n is mostly for the low end,
right?).
Peter
On Sat, Dec 09, 2000 at 04:37:40PM -0600, Peter Samuelson wrote:
>
> [Pavel Machek]
> > I'd say that warning is more acceptable than #ifdef... In cases where
> > warnings can be eliminating without ifdefs, that's okay, but this...
>
> In this case it is dead weight in the object file -- and for machines
> that can least afford it (CONFIG_PCI=n is mostly for the low end,
> right?).
How about this patch? It moves the offending struct to the __init function
where it is used and inside an existing #ifdef CONFIG_PCI. This would be
up to the maintainer but since this is the only place the struct is used
I think it is acceptable to move it from the top of the file.
Comments?
--- linux-240-t12-pre8-clean/drivers/net/hp100.c Sat Nov 4 23:27:07 2000
+++ linux/drivers/net/hp100.c Mon Dec 11 21:23:12 2000
@@ -265,13 +265,6 @@
#define HP100_EISA_IDS_SIZE (sizeof(hp100_eisa_ids)/sizeof(struct hp100_eisa_id))
-static struct hp100_pci_id hp100_pci_ids[] = {
- { PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_J2585A },
- { PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_J2585B },
- { PCI_VENDOR_ID_COMPEX, PCI_DEVICE_ID_COMPEX_ENET100VG4 },
- { PCI_VENDOR_ID_COMPEX2, PCI_DEVICE_ID_COMPEX2_100VG }
-};
-
#define HP100_PCI_IDS_SIZE (sizeof(hp100_pci_ids)/sizeof(struct hp100_pci_id))
static int hp100_rx_ratio = HP100_DEFAULT_RX_RATIO;
@@ -335,6 +328,13 @@
int ioaddr = 0;
#ifdef CONFIG_PCI
int pci_start_index = 0;
+
+ static struct hp100_pci_id hp100_pci_ids[] = {
+ { PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_J2585A },
+ { PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_J2585B },
+ { PCI_VENDOR_ID_COMPEX, PCI_DEVICE_ID_COMPEX_ENET100VG4 },
+ { PCI_VENDOR_ID_COMPEX2, PCI_DEVICE_ID_COMPEX2_100VG }
+ };
#endif
#ifdef HP100_DEBUG_B
--
Regards,
Rasmus([email protected])
It's a recession when your neighbour loses his job; it's a depression
when you lose yours. -- Harry S. Truman
[Rasmus Andersen]
> How about this patch? It moves the offending struct to the __init
> function where it is used and inside an existing #ifdef CONFIG_PCI.
Hmmmm, if you're messing around with the pci device table, why not just
convert it to use new-style PCI init? This is fairly easy to do (I did
one driver myself, and that *proves* it's easy). The main points:
1) convert the device table to a 'struct pci_device_id' and reference
this struct with a call to MODULE_DEVICE_TABLE(my_struct)
2) create a 'struct pci_driver' function table, rearranging the driver
housekeeping functions to fit this table
3) convert your PCI probe loop inn your init function to use
pci_module_init(my_pci_driver_struct), which does the looping for
you
Thanks to Adam Richter's hard work, there are lots of examples of
drivers that have already been converted to this scheme. I don't
remember if Adam purposely skipped hp100.c or if it was an oversight.
Peter
On Mon, Dec 11, 2000 at 06:09:31PM -0600, Peter Samuelson wrote:
>
> [Rasmus Andersen]
> > How about this patch? It moves the offending struct to the __init
> > function where it is used and inside an existing #ifdef CONFIG_PCI.
>
> Hmmmm, if you're messing around with the pci device table, why not just
> convert it to use new-style PCI init? This is fairly easy to do (I did
> one driver myself, and that *proves* it's easy). The main points:
I was looking into that regarding another driver anyway, so I'll try
my hand at that. Expect some b0rken patches soon :)
Regards,
Rasmus