2008-07-09 10:49:59

by Ben Dooks

[permalink] [raw]
Subject: [patch 3/4] MFD: Remove unnecessary fields if mfd_cell structure.

The enable,disable,suspend and resume entry in the struct mfd_cell
do not seem to be necessary as they should be handled by the
platform driver that the device created has bound to.

Signed-off-by: Ben Dooks <[email protected]>

Index: linux-2.6.26-rc9-next20080709/include/linux/mfd/core.h
===================================================================
--- linux-2.6.26-rc9-next20080709.orig/include/linux/mfd/core.h 2008-07-09 10:44:45.000000000 +0100
+++ linux-2.6.26-rc9-next20080709/include/linux/mfd/core.h 2008-07-09 10:45:06.000000000 +0100
@@ -23,12 +26,6 @@
*/
struct mfd_cell {
const char *name;
-
- int (*enable)(struct platform_device *dev);
- int (*disable)(struct platform_device *dev);
- int (*suspend)(struct platform_device *dev);
- int (*resume)(struct platform_device *dev);
-
void *driver_data; /* driver-specific data */

/*

--


2008-07-09 11:09:22

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [patch 3/4] MFD: Remove unnecessary fields if mfd_cell structure.

2008/7/9 Ben Dooks <[email protected]>:
> The enable,disable,suspend and resume entry in the struct mfd_cell
> do not seem to be necessary as they should be handled by the
> platform driver that the device created has bound to.

NAK. It's used e.g. by the tmio-nand driver. These fields provide easy
way to support
enhanced power management, etc.

>
> Signed-off-by: Ben Dooks <[email protected]>
>
> Index: linux-2.6.26-rc9-next20080709/include/linux/mfd/core.h
> ===================================================================
> --- linux-2.6.26-rc9-next20080709.orig/include/linux/mfd/core.h 2008-07-09 10:44:45.000000000 +0100
> +++ linux-2.6.26-rc9-next20080709/include/linux/mfd/core.h 2008-07-09 10:45:06.000000000 +0100
> @@ -23,12 +26,6 @@
> */
> struct mfd_cell {
> const char *name;
> -
> - int (*enable)(struct platform_device *dev);
> - int (*disable)(struct platform_device *dev);
> - int (*suspend)(struct platform_device *dev);
> - int (*resume)(struct platform_device *dev);
> -
> void *driver_data; /* driver-specific data */
>
> /*
>
> --
>



--
With best wishes
Dmitry

2008-07-09 11:12:29

by Ben Dooks

[permalink] [raw]
Subject: Re: [patch 3/4] MFD: Remove unnecessary fields if mfd_cell structure.

On Wed, Jul 09, 2008 at 03:09:12PM +0400, Dmitry wrote:
> 2008/7/9 Ben Dooks <[email protected]>:
> > The enable,disable,suspend and resume entry in the struct mfd_cell
> > do not seem to be necessary as they should be handled by the
> > platform driver that the device created has bound to.
>
> NAK. It's used e.g. by the tmio-nand driver. These fields provide easy
> way to support
> enhanced power management, etc.

What enhancements over the standard platform device model do you need?

> >
> > Signed-off-by: Ben Dooks <[email protected]>
> >
> > Index: linux-2.6.26-rc9-next20080709/include/linux/mfd/core.h
> > ===================================================================
> > --- linux-2.6.26-rc9-next20080709.orig/include/linux/mfd/core.h 2008-07-09 10:44:45.000000000 +0100
> > +++ linux-2.6.26-rc9-next20080709/include/linux/mfd/core.h 2008-07-09 10:45:06.000000000 +0100
> > @@ -23,12 +26,6 @@
> > */
> > struct mfd_cell {
> > const char *name;
> > -
> > - int (*enable)(struct platform_device *dev);
> > - int (*disable)(struct platform_device *dev);
> > - int (*suspend)(struct platform_device *dev);
> > - int (*resume)(struct platform_device *dev);
> > -
> > void *driver_data; /* driver-specific data */
> >
> > /*
> >
> > --
> >
>
>
>
> --
> With best wishes
> Dmitry

--
--
Ben

Q: What's a light-year?
A: One-third less calories than a regular year.

2008-07-09 11:16:58

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [patch 3/4] MFD: Remove unnecessary fields if mfd_cell structure.

2008/7/9 Ben Dooks <[email protected]>:
> On Wed, Jul 09, 2008 at 03:09:12PM +0400, Dmitry wrote:
>> 2008/7/9 Ben Dooks <[email protected]>:
>> > The enable,disable,suspend and resume entry in the struct mfd_cell
>> > do not seem to be necessary as they should be handled by the
>> > platform driver that the device created has bound to.
>>
>> NAK. It's used e.g. by the tmio-nand driver. These fields provide easy
>> way to support
>> enhanced power management, etc.
>
> What enhancements over the standard platform device model do you need?

As an example of what we need, please check the tmio-nand driver.

>
>> >
>> > Signed-off-by: Ben Dooks <[email protected]>
>> >
>> > Index: linux-2.6.26-rc9-next20080709/include/linux/mfd/core.h
>> > ===================================================================
>> > --- linux-2.6.26-rc9-next20080709.orig/include/linux/mfd/core.h 2008-07-09 10:44:45.000000000 +0100
>> > +++ linux-2.6.26-rc9-next20080709/include/linux/mfd/core.h 2008-07-09 10:45:06.000000000 +0100
>> > @@ -23,12 +26,6 @@
>> > */
>> > struct mfd_cell {
>> > const char *name;
>> > -
>> > - int (*enable)(struct platform_device *dev);
>> > - int (*disable)(struct platform_device *dev);
>> > - int (*suspend)(struct platform_device *dev);
>> > - int (*resume)(struct platform_device *dev);
>> > -
>> > void *driver_data; /* driver-specific data */
>> >
>> > /*
>> >
>> > --
>> >
>>
>>
>>
>> --
>> With best wishes
>> Dmitry
>
> --
> --
> Ben
>
> Q: What's a light-year?
> A: One-third less calories than a regular year.
>
>



--
With best wishes
Dmitry

2008-07-09 11:38:30

by Ben Dooks

[permalink] [raw]
Subject: Re: [patch 3/4] MFD: Remove unnecessary fields if mfd_cell structure.

On Wed, Jul 09, 2008 at 03:16:47PM +0400, Dmitry wrote:
> 2008/7/9 Ben Dooks <[email protected]>:
> > On Wed, Jul 09, 2008 at 03:09:12PM +0400, Dmitry wrote:
> >> 2008/7/9 Ben Dooks <[email protected]>:
> >> > The enable,disable,suspend and resume entry in the struct mfd_cell
> >> > do not seem to be necessary as they should be handled by the
> >> > platform driver that the device created has bound to.
> >>
> >> NAK. It's used e.g. by the tmio-nand driver. These fields provide easy
> >> way to support
> >> enhanced power management, etc.
> >
> > What enhancements over the standard platform device model do you need?
>
> As an example of what we need, please check the tmio-nand driver.

As posted below, the driver on the linux-mtd list does not use this,
and further more in [1] the method of getting to the the mfd_cell from
a given platform_device has gone which would be used by [2] if it
actually touched the mfd_cell information.

[1] http://lists.arm.linux.org.uk/lurker/message/20080708.153450.bb33046d.en.html
[2] http://lists.infradead.org/pipermail/linux-mtd/2008-June/022137.html

> >
> >> >
> >> > Signed-off-by: Ben Dooks <[email protected]>
> >> >
> >> > Index: linux-2.6.26-rc9-next20080709/include/linux/mfd/core.h
> >> > ===================================================================
> >> > --- linux-2.6.26-rc9-next20080709.orig/include/linux/mfd/core.h 2008-07-09 10:44:45.000000000 +0100
> >> > +++ linux-2.6.26-rc9-next20080709/include/linux/mfd/core.h 2008-07-09 10:45:06.000000000 +0100
> >> > @@ -23,12 +26,6 @@
> >> > */
> >> > struct mfd_cell {
> >> > const char *name;
> >> > -
> >> > - int (*enable)(struct platform_device *dev);
> >> > - int (*disable)(struct platform_device *dev);
> >> > - int (*suspend)(struct platform_device *dev);
> >> > - int (*resume)(struct platform_device *dev);
> >> > -
> >> > void *driver_data; /* driver-specific data */
> >> >
> >> > /*
> >> >
> >> > --
> >> >
> >>
> >>
> >>
> >> --
> >> With best wishes
> >> Dmitry
> >
> > --
> > --
> > Ben
> >
> > Q: What's a light-year?
> > A: One-third less calories than a regular year.
> >
> >
>
>
>
> --
> With best wishes
> Dmitry
>
> -------------------------------------------------------------------
> List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
> FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php
> Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php

--
--
Ben

Q: What's a light-year?
A: One-third less calories than a regular year.

2008-07-09 11:44:38

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [patch 3/4] MFD: Remove unnecessary fields if mfd_cell structure.

2008/7/9 Ben Dooks <[email protected]>:
> On Wed, Jul 09, 2008 at 03:16:47PM +0400, Dmitry wrote:
>> 2008/7/9 Ben Dooks <[email protected]>:
>> > On Wed, Jul 09, 2008 at 03:09:12PM +0400, Dmitry wrote:
>> >> 2008/7/9 Ben Dooks <[email protected]>:
>> >> > The enable,disable,suspend and resume entry in the struct mfd_cell
>> >> > do not seem to be necessary as they should be handled by the
>> >> > platform driver that the device created has bound to.
>> >>
>> >> NAK. It's used e.g. by the tmio-nand driver. These fields provide easy
>> >> way to support
>> >> enhanced power management, etc.
>> >
>> > What enhancements over the standard platform device model do you need?
>>
>> As an example of what we need, please check the tmio-nand driver.
>
> As posted below, the driver on the linux-mtd list does not use this,
> and further more in [1] the method of getting to the the mfd_cell from
> a given platform_device has gone which would be used by [2] if it
> actually touched the mfd_cell information.

It is used. Go, search for mfd_get_cell.
And yes, it will require a minor change as discussed in the mfd thread
yesterday.

>
> [1] http://lists.arm.linux.org.uk/lurker/message/20080708.153450.bb33046d.en.html
> [2] http://lists.infradead.org/pipermail/linux-mtd/2008-June/022137.html
>
>> >
>> >> >
>> >> > Signed-off-by: Ben Dooks <[email protected]>
>> >> >
>> >> > Index: linux-2.6.26-rc9-next20080709/include/linux/mfd/core.h
>> >> > ===================================================================
>> >> > --- linux-2.6.26-rc9-next20080709.orig/include/linux/mfd/core.h 2008-07-09 10:44:45.000000000 +0100
>> >> > +++ linux-2.6.26-rc9-next20080709/include/linux/mfd/core.h 2008-07-09 10:45:06.000000000 +0100
>> >> > @@ -23,12 +26,6 @@
>> >> > */
>> >> > struct mfd_cell {
>> >> > const char *name;
>> >> > -
>> >> > - int (*enable)(struct platform_device *dev);
>> >> > - int (*disable)(struct platform_device *dev);
>> >> > - int (*suspend)(struct platform_device *dev);
>> >> > - int (*resume)(struct platform_device *dev);
>> >> > -
>> >> > void *driver_data; /* driver-specific data */
>> >> >
>> >> > /*
>> >> >
>> >> > --
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> With best wishes
>> >> Dmitry
>> >
>> > --
>> > --
>> > Ben
>> >
>> > Q: What's a light-year?
>> > A: One-third less calories than a regular year.
>> >
>> >
>>
>>
>>
>> --
>> With best wishes
>> Dmitry
>>
>> -------------------------------------------------------------------
>> List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
>> FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php
>> Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php
>
> --
> --
> Ben
>
> Q: What's a light-year?
> A: One-third less calories than a regular year.
>
>



--
With best wishes
Dmitry