2011-05-05 12:29:59

by Wanlong Gao

[permalink] [raw]
Subject: [PATCH] C2port:Fix deprecated exported interfaces c2port.h

From: Wanlong Gao <[email protected]>

Change to_class_dev to to_device since the struct class_device had
merged to struct device.
Fix the to_c2port_device interface since the struct c2port_device
has no member named class.

Signed-off-by: Wanlong Gao <[email protected]>
---
include/linux/c2port.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/c2port.h b/include/linux/c2port.h
index 2a5cd86..7e6bd33 100644
--- a/include/linux/c2port.h
+++ b/include/linux/c2port.h
@@ -60,8 +60,8 @@ struct c2port_ops {
* Exported functions
*/

-#define to_class_dev(obj) container_of((obj), struct class_device, kobj)
-#define to_c2port_device(obj) container_of((obj), struct c2port_device, class)
+#define to_device(obj) container_of(obj, struct device, kobj)
+#define to_c2port_device(obj) container_of(obj, struct c2port_device, dev.kobj)

extern struct c2port_device *c2port_device_register(char *name,
struct c2port_ops *ops, void *devdata);
--
1.7.4.1


2011-05-05 14:11:45

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] C2port:Fix deprecated exported interfaces c2port.h

On Thu, May 05, 2011 at 08:29:09PM +0800, Wanlong Gao wrote:
> From: Wanlong Gao <[email protected]>
>
> Change to_class_dev to to_device since the struct class_device had
> merged to struct device.
> Fix the to_c2port_device interface since the struct c2port_device
> has no member named class.
>
> Signed-off-by: Wanlong Gao <[email protected]>
> ---
> include/linux/c2port.h | 4 ++--

I don't know why you sent this to me, have you looked at the
scripts/get_maintainer.pl tool?


> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/c2port.h b/include/linux/c2port.h
> index 2a5cd86..7e6bd33 100644
> --- a/include/linux/c2port.h
> +++ b/include/linux/c2port.h
> @@ -60,8 +60,8 @@ struct c2port_ops {
> * Exported functions
> */
>
> -#define to_class_dev(obj) container_of((obj), struct class_device, kobj)
> -#define to_c2port_device(obj) container_of((obj), struct c2port_device, class)
> +#define to_device(obj) container_of(obj, struct device, kobj)
> +#define to_c2port_device(obj) container_of(obj, struct c2port_device, dev.kobj)

Doesn't this break the build? If not, something is really wrong here.

confused,

greg k-h

2011-05-05 14:30:57

by Wanlong Gao

[permalink] [raw]
Subject: Re: [PATCH] C2port:Fix deprecated exported interfaces c2port.h

on 2011-05-05 07:10 -0700,Greg KH wroted:
> On Thu, May 05, 2011 at 08:29:09PM +0800, Wanlong Gao wrote:
> > From: Wanlong Gao <[email protected]>
> >
> > Change to_class_dev to to_device since the struct class_device had
> > merged to struct device.
> > Fix the to_c2port_device interface since the struct c2port_device
> > has no member named class.
> >
> > Signed-off-by: Wanlong Gao <[email protected]>
> > ---
> > include/linux/c2port.h | 4 ++--
>
> I don't know why you sent this to me, have you looked at the
> scripts/get_maintainer.pl tool?
Yes, I have, but I just get the linux-kernel open list, so I have
no idea but send it to you.
>
>
> > 1 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/linux/c2port.h b/include/linux/c2port.h
> > index 2a5cd86..7e6bd33 100644
> > --- a/include/linux/c2port.h
> > +++ b/include/linux/c2port.h
> > @@ -60,8 +60,8 @@ struct c2port_ops {
> > * Exported functions
> > */
> >
> > -#define to_class_dev(obj) container_of((obj), struct class_device, kobj)
> > -#define to_c2port_device(obj) container_of((obj), struct c2port_device, class)
> > +#define to_device(obj) container_of(obj, struct device, kobj)
> > +#define to_c2port_device(obj) container_of(obj, struct c2port_device, dev.kobj)
>
> Doesn't this break the build? If not, something is really wrong here.
The interface just exported but not used in the kernel code, so it will
not break the build. The class_device structure is deprecated in your
driver-core, so it really has something wrong here.
>
> confused,
Me too, I checked the log and see that the to_c2port_device had
something wrong in this file's initial version.
>
> greg k-h

Thanks
Best regards

Wanlong Gao

2011-05-05 14:42:03

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] C2port:Fix deprecated exported interfaces c2port.h

On Thu, May 05, 2011 at 10:30:40PM +0800, Wanlong Gao wrote:
> on 2011-05-05 07:10 -0700,Greg KH wroted:
> > On Thu, May 05, 2011 at 08:29:09PM +0800, Wanlong Gao wrote:
> > > From: Wanlong Gao <[email protected]>
> > >
> > > Change to_class_dev to to_device since the struct class_device had
> > > merged to struct device.
> > > Fix the to_c2port_device interface since the struct c2port_device
> > > has no member named class.
> > >
> > > Signed-off-by: Wanlong Gao <[email protected]>
> > > ---
> > > include/linux/c2port.h | 4 ++--
> >
> > I don't know why you sent this to me, have you looked at the
> > scripts/get_maintainer.pl tool?
> Yes, I have, but I just get the linux-kernel open list, so I have
> no idea but send it to you.

Ok, you are right that get_maintainers.pl doesn't show anything, but
look at the git history, you will see that Rodolfo Giometti
<[email protected]> originally added this code, so that is who you need
to copy on any patch.

> > > 1 files changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/include/linux/c2port.h b/include/linux/c2port.h
> > > index 2a5cd86..7e6bd33 100644
> > > --- a/include/linux/c2port.h
> > > +++ b/include/linux/c2port.h
> > > @@ -60,8 +60,8 @@ struct c2port_ops {
> > > * Exported functions
> > > */
> > >
> > > -#define to_class_dev(obj) container_of((obj), struct class_device, kobj)
> > > -#define to_c2port_device(obj) container_of((obj), struct c2port_device, class)
> > > +#define to_device(obj) container_of(obj, struct device, kobj)
> > > +#define to_c2port_device(obj) container_of(obj, struct c2port_device, dev.kobj)
> >
> > Doesn't this break the build? If not, something is really wrong here.
> The interface just exported but not used in the kernel code, so it will
> not break the build. The class_device structure is deprecated in your
> driver-core, so it really has something wrong here.

What is wrong is that these macros are never used, otherwise they would
break the build. So I'm pretty sure you can just remove them safely,
but run it by Rodolfo first please.

thanks,

greg k-h

2011-05-05 14:54:29

by Wanlong Gao

[permalink] [raw]
Subject: Re: [PATCH] C2port:Fix deprecated exported interfaces c2port.h

on 2011-05-05四的 07:39 -0700,Greg KH wroted :
> On Thu, May 05, 2011 at 10:30:40PM +0800, Wanlong Gao wrote:
> > on 2011-05-05 07:10 -0700,Greg KH wroted:
> > > On Thu, May 05, 2011 at 08:29:09PM +0800, Wanlong Gao wrote:
> > > > From: Wanlong Gao <[email protected]>
> > > >
> > > > Change to_class_dev to to_device since the struct class_device had
> > > > merged to struct device.
> > > > Fix the to_c2port_device interface since the struct c2port_device
> > > > has no member named class.
> > > >
> > > > Signed-off-by: Wanlong Gao <[email protected]>
> > > > ---
> > > > include/linux/c2port.h | 4 ++--
> > >
> > > I don't know why you sent this to me, have you looked at the
> > > scripts/get_maintainer.pl tool?
> > Yes, I have, but I just get the linux-kernel open list, so I have
> > no idea but send it to you.
>
> Ok, you are right that get_maintainers.pl doesn't show anything, but
> look at the git history, you will see that Rodolfo Giometti
> <[email protected]> originally added this code, so that is who you need
> to copy on any patch.
I see, I see, thank you very much.
>
> > > > 1 files changed, 2 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/include/linux/c2port.h b/include/linux/c2port.h
> > > > index 2a5cd86..7e6bd33 100644
> > > > --- a/include/linux/c2port.h
> > > > +++ b/include/linux/c2port.h
> > > > @@ -60,8 +60,8 @@ struct c2port_ops {
> > > > * Exported functions
> > > > */
> > > >
> > > > -#define to_class_dev(obj) container_of((obj), struct class_device, kobj)
> > > > -#define to_c2port_device(obj) container_of((obj), struct c2port_device, class)
> > > > +#define to_device(obj) container_of(obj, struct device, kobj)
> > > > +#define to_c2port_device(obj) container_of(obj, struct c2port_device, dev.kobj)
> > >
> > > Doesn't this break the build? If not, something is really wrong here.
> > The interface just exported but not used in the kernel code, so it will
> > not break the build. The class_device structure is deprecated in your
> > driver-core, so it really has something wrong here.
>
> What is wrong is that these macros are never used, otherwise they would
> break the build. So I'm pretty sure you can just remove them safely,
> but run it by Rodolfo first please.
Thanks a lot for your tips, I'll just remove it.
>
> thanks,
>
> greg k-h

Best regards
Wanlong Gao