2003-08-16 14:48:08

by Ivan Gyurdiev

[permalink] [raw]
Subject: 2.6.0-test3 current - firewire compile error

Hopefully, this is not a duplicate post:
===========================================

drivers/ieee1394/nodemgr.c: In function `nodemgr_update_ud_names':
drivers/ieee1394/nodemgr.c:471: error: structure has no member named `name'
drivers/ieee1394/nodemgr.c: In function `nodemgr_create_node':
drivers/ieee1394/nodemgr.c:723: error: structure has no member named `name'
drivers/ieee1394/nodemgr.c: In function `nodemgr_update_node':
drivers/ieee1394/nodemgr.c:1318: error: structure has no member named `name'
drivers/ieee1394/nodemgr.c: In function `nodemgr_add_host':
drivers/ieee1394/nodemgr.c:1775: error: structure has no member named `name'
make[2]: *** [drivers/ieee1394/nodemgr.o] Error 1
make[1]: *** [drivers/ieee1394] Error 2
make: *** [drivers] Error 2



2003-08-16 15:10:37

by walt

[permalink] [raw]
Subject: Re: 2.6.0-test3 current - firewire compile error

Ivan Gyurdiev wrote:
> Hopefully, this is not a duplicate post:
> ===========================================
>
> drivers/ieee1394/nodemgr.c: In function `nodemgr_update_ud_names':
> drivers/ieee1394/nodemgr.c:471: error: structure has no member named `name'

I got a similar error starting with last night's bk pull:

drivers/pnp/core.c: In function `pnp_register_protocol':
drivers/pnp/core.c:72: structure has no member named `name'

2003-08-16 15:57:00

by Ivan Gyurdiev

[permalink] [raw]
Subject: Re: 2.6.0-test3 current - compile error - no member named 'name'

walt wrote:
> Ivan Gyurdiev wrote:
>
>> Hopefully, this is not a duplicate post:
>> ===========================================
>>
>> drivers/ieee1394/nodemgr.c: In function `nodemgr_update_ud_names':
>> drivers/ieee1394/nodemgr.c:471: error: structure has no member named
>> `name'
>
>
> I got a similar error starting with last night's bk pull:
>
> drivers/pnp/core.c: In function `pnp_register_protocol':
> drivers/pnp/core.c:72: structure has no member named `name'
>
> -

And I just got another one of those trying to compile the nvidia driver
for this kernel. So apparently this is not firewire or pnp specific.




2003-08-16 16:37:12

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.0-test3 current - firewire compile error

On Sat, Aug 16, 2003 at 08:50:19AM -0400, Ivan Gyurdiev wrote:
> Hopefully, this is not a duplicate post:
> ===========================================
>
> drivers/ieee1394/nodemgr.c: In function `nodemgr_update_ud_names':
> drivers/ieee1394/nodemgr.c:471: error: structure has no member named `name'
> drivers/ieee1394/nodemgr.c: In function `nodemgr_create_node':
> drivers/ieee1394/nodemgr.c:723: error: structure has no member named `name'
> drivers/ieee1394/nodemgr.c: In function `nodemgr_update_node':
> drivers/ieee1394/nodemgr.c:1318: error: structure has no member named `name'
> drivers/ieee1394/nodemgr.c: In function `nodemgr_add_host':
> drivers/ieee1394/nodemgr.c:1775: error: structure has no member named `name'
> make[2]: *** [drivers/ieee1394/nodemgr.o] Error 1
> make[1]: *** [drivers/ieee1394] Error 2
> make: *** [drivers] Error 2

I removed struct device.name and forgot to change the firewire code :(

I'll work on a patch for this later this evening, unless someone beats
me to it.

Sorry,

greg k-h

2003-08-16 16:37:15

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.0-test3 current - compile error - no member named 'name'

On Sat, Aug 16, 2003 at 09:59:10AM -0400, Ivan Gyurdiev wrote:
> walt wrote:
> >Ivan Gyurdiev wrote:
> >
> >>Hopefully, this is not a duplicate post:
> >>===========================================
> >>
> >>drivers/ieee1394/nodemgr.c: In function `nodemgr_update_ud_names':
> >>drivers/ieee1394/nodemgr.c:471: error: structure has no member named
> >>`name'
> >
> >
> >I got a similar error starting with last night's bk pull:
> >
> >drivers/pnp/core.c: In function `pnp_register_protocol':
> >drivers/pnp/core.c:72: structure has no member named `name'
> >
> >-
>
> And I just got another one of those trying to compile the nvidia driver
> for this kernel. So apparently this is not firewire or pnp specific.

Well go bug nvidia about that, nothing we can do for closed source
modules...

thanks,

greg k-h

2003-08-16 16:38:24

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.0-test3 current - firewire compile error

On Sat, Aug 16, 2003 at 12:11:58AM -0700, walt wrote:
> Ivan Gyurdiev wrote:
> >Hopefully, this is not a duplicate post:
> >===========================================
> >
> >drivers/ieee1394/nodemgr.c: In function `nodemgr_update_ud_names':
> >drivers/ieee1394/nodemgr.c:471: error: structure has no member named `name'
>
> I got a similar error starting with last night's bk pull:
>
> drivers/pnp/core.c: In function `pnp_register_protocol':
> drivers/pnp/core.c:72: structure has no member named `name'

Hm, I thought the pnp layer had already been fixed up.

Adam?

thanks,

greg k-h

2003-08-16 17:38:30

by OGAWA Hirofumi

[permalink] [raw]
Subject: Re: 2.6.0-test3 current - firewire compile error

Greg KH <[email protected]> writes:

> I removed struct device.name and forgot to change the firewire code :(
>
> I'll work on a patch for this later this evening, unless someone beats
> me to it.

Why wasn't DEVICE_NAME_SIZE/_HALF killed? Looks like these also should
define by drivers.
--
OGAWA Hirofumi <[email protected]>

2003-08-16 19:16:12

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.0-test3 current - firewire compile error

On Sun, Aug 17, 2003 at 02:38:16AM +0900, OGAWA Hirofumi wrote:
> Greg KH <[email protected]> writes:
>
> > I removed struct device.name and forgot to change the firewire code :(
> >
> > I'll work on a patch for this later this evening, unless someone beats
> > me to it.
>
> Why wasn't DEVICE_NAME_SIZE/_HALF killed? Looks like these also should
> define by drivers.

Some subsystems use that #define for their device name size. Yeah, it
probably could be gotten rid of too, just didn't really see the need.

Patches are always welcome if you want to fix this up. :)

thanks,

greg k-h

2003-08-16 19:15:13

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.0-test3 current - firewire compile error

On Sat, Aug 16, 2003 at 09:35:53AM -0700, Greg KH wrote:
> On Sat, Aug 16, 2003 at 08:50:19AM -0400, Ivan Gyurdiev wrote:
> > Hopefully, this is not a duplicate post:
> > ===========================================
> >
> > drivers/ieee1394/nodemgr.c: In function `nodemgr_update_ud_names':
> > drivers/ieee1394/nodemgr.c:471: error: structure has no member named `name'
> > drivers/ieee1394/nodemgr.c: In function `nodemgr_create_node':
> > drivers/ieee1394/nodemgr.c:723: error: structure has no member named `name'
> > drivers/ieee1394/nodemgr.c: In function `nodemgr_update_node':
> > drivers/ieee1394/nodemgr.c:1318: error: structure has no member named `name'
> > drivers/ieee1394/nodemgr.c: In function `nodemgr_add_host':
> > drivers/ieee1394/nodemgr.c:1775: error: structure has no member named `name'
> > make[2]: *** [drivers/ieee1394/nodemgr.o] Error 1
> > make[1]: *** [drivers/ieee1394] Error 2
> > make: *** [drivers] Error 2
>
> I removed struct device.name and forgot to change the firewire code :(
>
> I'll work on a patch for this later this evening, unless someone beats
> me to it.

Ok, here's the patch that I just sent to Linus and Ben for this, and
some other problems in the ieee1394 code (due to the i2c changes in
2.6.0-test3.) Please let me know if you have any problems after
applying them.

Again, sorry for missing this.

greg k-h


--- a/drivers/ieee1394/nodemgr.c Tue Aug 5 12:13:20 2003
+++ b/drivers/ieee1394/nodemgr.c Sat Aug 16 12:08:09 2003
@@ -460,21 +460,6 @@
}


-static void nodemgr_update_ud_names(struct host_info *hi, struct node_entry *ne)
-{
- struct list_head *lh;
-
- list_for_each(lh, &ne->device.children) {
- struct unit_directory *ud;
- ud = container_of(list_to_dev(lh), struct unit_directory, device);
-
- snprintf(ud->device.name, DEVICE_NAME_SIZE,
- "IEEE-1394 unit directory " NODE_BUS_FMT "-%u",
- NODE_BUS_ARGS(hi->host, ne->nodeid), ud->id);
- }
-}
-
-
static void nodemgr_remove_ne(struct node_entry *ne)
{
struct device *dev = &ne->device;
@@ -720,9 +705,6 @@
ne->device.parent = &host->device;
snprintf(ne->device.bus_id, BUS_ID_SIZE, "%016Lx",
(unsigned long long)(ne->guid));
- snprintf(ne->device.name, DEVICE_NAME_SIZE,
- "IEEE-1394 device " NODE_BUS_FMT,
- NODE_BUS_ARGS(host, ne->nodeid));

device_register(&ne->device);

@@ -732,8 +714,6 @@

nodemgr_process_config_rom (hi, ne, busoptions);

- nodemgr_update_ud_names(hi, ne);
-
HPSB_DEBUG("%s added: ID:BUS[" NODE_BUS_FMT "] GUID[%016Lx]",
(host->node_id == nodeid) ? "Host" : "Node",
NODE_BUS_ARGS(host, nodeid), (unsigned long long)guid);
@@ -1312,18 +1292,11 @@
struct host_info *hi, nodeid_t nodeid,
unsigned int generation)
{
- int update_ud_names = 0;
-
if (ne->nodeid != nodeid) {
- snprintf(ne->device.name, DEVICE_NAME_SIZE,
- "IEEE-1394 device " NODE_BUS_FMT,
- NODE_BUS_ARGS(hi->host, ne->nodeid));
HPSB_DEBUG("Node changed: " NODE_BUS_FMT " -> " NODE_BUS_FMT,
NODE_BUS_ARGS(ne->host, ne->nodeid),
NODE_BUS_ARGS(ne->host, nodeid));
ne->nodeid = nodeid;
-
- update_ud_names++;
}

if (ne->busopt.generation != ((busoptions >> 4) & 0xf)) {
@@ -1333,13 +1306,8 @@

/* This will re-register our unitdir's */
nodemgr_process_config_rom (hi, ne, busoptions);
-
- update_ud_names++;
}

- if (update_ud_names)
- nodemgr_update_ud_names(hi, ne);
-
/* Since that's done, we can declare this record current */
ne->generation = generation;

@@ -1772,8 +1740,6 @@
sizeof(host->device));
host->device.parent = &host->pdev->dev;
snprintf(host->device.bus_id, BUS_ID_SIZE, "fw-host%d", host->id);
- snprintf(host->device.name, DEVICE_NAME_SIZE, "IEEE-1394 Host %s-%d",
- host->driver->name, host->id);

sprintf(hi->daemon_name, "knodemgrd_%d", host->id);

--- a/drivers/ieee1394/pcilynx.c Mon Aug 11 09:21:39 2003
+++ b/drivers/ieee1394/pcilynx.c Sat Aug 16 12:08:53 2003
@@ -144,9 +144,7 @@
.id = 0xAA, //FIXME: probably we should get an id in i2c-id.h
.client_register = bit_reg,
.client_unregister = bit_unreg,
- .dev = {
- .name = "PCILynx I2C",
- },
+ .name = "PCILynx I2C",
};


2003-08-16 21:23:27

by Adam Belay

[permalink] [raw]
Subject: Re: 2.6.0-test3 current - firewire compile error

On Sat, Aug 16, 2003 at 09:36:44AM -0700, Greg KH wrote:
> On Sat, Aug 16, 2003 at 12:11:58AM -0700, walt wrote:
> > Ivan Gyurdiev wrote:
> > >Hopefully, this is not a duplicate post:
> > >===========================================
> > >
> > >drivers/ieee1394/nodemgr.c: In function `nodemgr_update_ud_names':
> > >drivers/ieee1394/nodemgr.c:471: error: structure has no member named `name'
> >
> > I got a similar error starting with last night's bk pull:
> >
> > drivers/pnp/core.c: In function `pnp_register_protocol':
> > drivers/pnp/core.c:72: structure has no member named `name'
>
> Hm, I thought the pnp layer had already been fixed up.
>
> Adam?
>

I apoligize for forgetting to correct this. Here is a fix.

Thanks,
Adam


diff -urN a/drivers/pnp/core.c b/drivers/pnp/core.c
--- a/drivers/pnp/core.c 2003-08-09 04:33:18.000000000 +0000
+++ b/drivers/pnp/core.c 2003-08-16 16:26:59.000000000 +0000
@@ -69,7 +69,6 @@

protocol->number = nodenum;
sprintf(protocol->dev.bus_id, "pnp%d", nodenum);
- strlcpy(protocol->dev.name,protocol->name,DEVICE_NAME_SIZE);
return device_register(&protocol->dev);
}

diff -urN a/drivers/pnp/isapnp/core.c b/drivers/pnp/isapnp/core.c
--- a/drivers/pnp/isapnp/core.c 2003-08-09 04:37:19.000000000 +0000
+++ b/drivers/pnp/isapnp/core.c 2003-08-16 16:45:16.000000000 +0000
@@ -743,7 +743,7 @@
size = 0;
break;
case _LTAG_ANSISTR:
- isapnp_parse_name(dev->dev.name, sizeof(dev->dev.name), &size);
+ isapnp_parse_name(dev->name, sizeof(dev->name), &size);
break;
case _LTAG_UNICODESTR:
/* silently ignore */
@@ -808,7 +808,7 @@
case _STAG_VENDOR:
break;
case _LTAG_ANSISTR:
- isapnp_parse_name(card->dev.name, sizeof(card->dev.name), &size);
+ isapnp_parse_name(card->name, sizeof(card->name), &size);
break;
case _LTAG_UNICODESTR:
/* silently ignore */
@@ -1144,11 +1144,11 @@
protocol_for_each_card(&isapnp_protocol,card) {
cards++;
if (isapnp_verbose) {
- printk(KERN_INFO "isapnp: Card '%s'\n", card->dev.name[0]?card->dev.name:"Unknown");
+ printk(KERN_INFO "isapnp: Card '%s'\n", card->name[0]?card->name:"Unknown");
if (isapnp_verbose < 2)
continue;
card_for_each_dev(card,dev) {
- printk(KERN_INFO "isapnp: Device '%s'\n", dev->dev.name[0]?dev->dev.name:"Unknown");
+ printk(KERN_INFO "isapnp: Device '%s'\n", dev->name[0]?dev->name:"Unknown");
}
}
}
--- a/drivers/serial/8250_pnp.c 2003-08-09 04:31:45.000000000 +0000
+++ b/drivers/serial/8250_pnp.c 2003-08-16 16:47:21.000000000 +0000
@@ -369,7 +369,7 @@
*/
static int __devinit serial_pnp_guess_board(struct pnp_dev *dev, int *flags)
{
- if (!(check_name(dev->dev.name) || (dev->card && check_name(dev->card->dev.name))))
+ if (!(check_name(pnp_dev_name(dev)) || (dev->card && check_name(dev->card->name))))
return -ENODEV;

if (check_resources(dev->independent))
--- a/include/linux/pnp.h 2003-08-09 04:42:16.000000000 +0000
+++ b/include/linux/pnp.h 2003-08-16 16:43:32.000000000 +0000
@@ -19,6 +19,7 @@
#define PNP_MAX_DMA 2
#define PNP_MAX_DEVICES 8
#define PNP_ID_LEN 8
+#define PNP_NAME_LEN 50

struct pnp_protocol;
struct pnp_dev;
@@ -133,6 +134,7 @@
struct pnp_protocol * protocol;
struct pnp_id * id; /* contains supported EISA IDs*/

+ char name[PNP_NAME_LEN]; /* contains a human-readable name */
unsigned char pnpver; /* Plug & Play version */
unsigned char productver; /* product version */
unsigned int serial; /* serial number */
@@ -187,6 +189,7 @@
struct pnp_option * dependent;
struct pnp_resource_table res;

+ char name[PNP_NAME_LEN]; /* contains a human-readable name */
unsigned short regs; /* ISAPnP: supported registers */
int flags; /* used by protocols */
struct proc_dir_entry *procent; /* device entry in /proc/bus/isapnp */
@@ -204,7 +207,7 @@
for((dev) = card_to_pnp_dev((card)->devices.next); \
(dev) != card_to_pnp_dev(&(card)->devices); \
(dev) = card_to_pnp_dev((dev)->card_list.next))
-#define pnp_dev_name(dev) (dev)->dev.name
+#define pnp_dev_name(dev) (dev)->name

static inline void *pnp_get_drvdata (struct pnp_dev *pdev)
{

2003-08-16 22:16:06

by walt

[permalink] [raw]
Subject: Re: 2.6.0-test3 current - firewire compile error

Adam Belay wrote:

>>On Sat, Aug 16, 2003 at 12:11:58AM -0700, walt wrote:

>>>drivers/pnp/core.c: In function `pnp_register_protocol':
>>>drivers/pnp/core.c:72: structure has no member named `name'

> I apoligize for forgetting to correct this. Here is a fix.

> diff -urN a/drivers/pnp/core.c b/drivers/pnp/core.c
> --- a/drivers/pnp/core.c 2003-08-09 04:33:18.000000000 +0000
> +++ b/drivers/pnp/core.c 2003-08-16 16:26:59.000000000 +0000
> @@ -69,7 +69,6 @@
>
> protocol->number = nodenum;
> sprintf(protocol->dev.bus_id, "pnp%d", nodenum);
> - strlcpy(protocol->dev.name,protocol->name,DEVICE_NAME_SIZE);
> return device_register(&protocol->dev);
> }
>
> diff -urN a/drivers/pnp/isapnp/core.c b/drivers/pnp/isapnp/core.c
> --- a/drivers/pnp/isapnp/core.c 2003-08-09 04:37:19.000000000 +0000
> +++ b/drivers/pnp/isapnp/core.c 2003-08-16 16:45:16.000000000 +0000
> @@ -743,7 +743,7 @@
> size = 0;
> break;
> case _LTAG_ANSISTR:
> - isapnp_parse_name(dev->dev.name, sizeof(dev->dev.name), &size);
> + isapnp_parse_name(dev->name, sizeof(dev->name), &size);
> break;
> case _LTAG_UNICODESTR:
> /* silently ignore */
> @@ -808,7 +808,7 @@
> case _STAG_VENDOR:
> break;
> case _LTAG_ANSISTR:
> - isapnp_parse_name(card->dev.name, sizeof(card->dev.name), &size);
> + isapnp_parse_name(card->name, sizeof(card->name), &size);
> break;
> case _LTAG_UNICODESTR:
> /* silently ignore */
> @@ -1144,11 +1144,11 @@
> protocol_for_each_card(&isapnp_protocol,card) {
> cards++;
> if (isapnp_verbose) {
> - printk(KERN_INFO "isapnp: Card '%s'\n", card->dev.name[0]?card->dev.name:"Unknown");
> + printk(KERN_INFO "isapnp: Card '%s'\n", card->name[0]?card->name:"Unknown");
> if (isapnp_verbose < 2)
> continue;
> card_for_each_dev(card,dev) {
> - printk(KERN_INFO "isapnp: Device '%s'\n", dev->dev.name[0]?dev->dev.name:"Unknown");
> + printk(KERN_INFO "isapnp: Device '%s'\n", dev->name[0]?dev->name:"Unknown");
> }
> }
> }
> --- a/drivers/serial/8250_pnp.c 2003-08-09 04:31:45.000000000 +0000
> +++ b/drivers/serial/8250_pnp.c 2003-08-16 16:47:21.000000000 +0000
> @@ -369,7 +369,7 @@
> */
> static int __devinit serial_pnp_guess_board(struct pnp_dev *dev, int *flags)
> {
> - if (!(check_name(dev->dev.name) || (dev->card && check_name(dev->card->dev.name))))
> + if (!(check_name(pnp_dev_name(dev)) || (dev->card && check_name(dev->card->name))))
> return -ENODEV;
>
> if (check_resources(dev->independent))
> --- a/include/linux/pnp.h 2003-08-09 04:42:16.000000000 +0000
> +++ b/include/linux/pnp.h 2003-08-16 16:43:32.000000000 +0000
> @@ -19,6 +19,7 @@
> #define PNP_MAX_DMA 2
> #define PNP_MAX_DEVICES 8
> #define PNP_ID_LEN 8
> +#define PNP_NAME_LEN 50
>
> struct pnp_protocol;
> struct pnp_dev;
> @@ -133,6 +134,7 @@
> struct pnp_protocol * protocol;
> struct pnp_id * id; /* contains supported EISA IDs*/
>
> + char name[PNP_NAME_LEN]; /* contains a human-readable name */
> unsigned char pnpver; /* Plug & Play version */
> unsigned char productver; /* product version */
> unsigned int serial; /* serial number */
> @@ -187,6 +189,7 @@
> struct pnp_option * dependent;
> struct pnp_resource_table res;
>
> + char name[PNP_NAME_LEN]; /* contains a human-readable name */
> unsigned short regs; /* ISAPnP: supported registers */
> int flags; /* used by protocols */
> struct proc_dir_entry *procent; /* device entry in /proc/bus/isapnp */
> @@ -204,7 +207,7 @@
> for((dev) = card_to_pnp_dev((card)->devices.next); \
> (dev) != card_to_pnp_dev(&(card)->devices); \
> (dev) = card_to_pnp_dev((dev)->card_list.next))
> -#define pnp_dev_name(dev) (dev)->dev.name
> +#define pnp_dev_name(dev) (dev)->name
>
> static inline void *pnp_get_drvdata (struct pnp_dev *pdev)
> {

Your patch works for me, thanks!