Re: [PATCH v1 00/13] intel-lpss: support non-ACPI platforms

2015-11-24 Thread Rafael J. Wysocki
On Tue, Nov 24, 2015 at 9:00 PM, Arnd Bergmann  wrote:
> On Tuesday 24 November 2015 12:22:46 Andy Shevchenko wrote:
>> This series includes few logical sets that bring a support of non-ACPI
>> platforms for Intel Skylake.
>>
>> First part is a refactoring of built-in device properties support:
>>  - keep single value inside the structure
>>  - provide helper macros to define built-in properties
>>  - fall back to secondary fwnode if primary has no asked property
>>
>> Second one is modifications to MFD code and intel-lpss.c driver in particular
>> to define and pass built-in properties to the individual drivers.
>>
>> Last part is a fix for I2C bug found on Lenovo Yoga hardware and a first
>> converted user.
>>
>> Built-in device properties is an alternative to platform data. It provides a
>> unified API that drivers can use to cover all cases at once: DT, ACPI, and
>> built-in properties.
>>
>> With this series applied platform data can be considered obsolete. Moreover,
>> built-in device properties allows to adjust existing configuration, for
>> example, in cases when ACPI values are wrong on some platforms.
>>
>> The series has been tested on available hardware and doesn't break current
>> behaviour. But we ask you, Kevin, to apply the series on your side and check
>> with Lenovo hardware.
>
> I agree with Rafael, this looks really nice. I found one small thing that
> could be improved, see the comment on patch 11.
>
> Aside from that, I think we should have a nicer way to pass a property
> list through platform_device_info when calling
> platform_device_register_full(). You don't do that here because the drivers
> you change are based on MFD cells rather than direct platform devices,
> but it would fit in the series and should be easy enough to do.
>
> I don't know why Rafael didn't do that for the initial series already, maybe
> he had a good reason.

I was focusing on the generics rather than on any particular
individual bus type.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v1 00/13] intel-lpss: support non-ACPI platforms

2015-11-24 Thread Arnd Bergmann
On Tuesday 24 November 2015 12:22:46 Andy Shevchenko wrote:
> This series includes few logical sets that bring a support of non-ACPI
> platforms for Intel Skylake.
> 
> First part is a refactoring of built-in device properties support:
>  - keep single value inside the structure
>  - provide helper macros to define built-in properties
>  - fall back to secondary fwnode if primary has no asked property
> 
> Second one is modifications to MFD code and intel-lpss.c driver in particular
> to define and pass built-in properties to the individual drivers.
> 
> Last part is a fix for I2C bug found on Lenovo Yoga hardware and a first
> converted user.
> 
> Built-in device properties is an alternative to platform data. It provides a
> unified API that drivers can use to cover all cases at once: DT, ACPI, and
> built-in properties.
> 
> With this series applied platform data can be considered obsolete. Moreover,
> built-in device properties allows to adjust existing configuration, for
> example, in cases when ACPI values are wrong on some platforms.
> 
> The series has been tested on available hardware and doesn't break current
> behaviour. But we ask you, Kevin, to apply the series on your side and check
> with Lenovo hardware.

I agree with Rafael, this looks really nice. I found one small thing that
could be improved, see the comment on patch 11.

Aside from that, I think we should have a nicer way to pass a property
list through platform_device_info when calling
platform_device_register_full(). You don't do that here because the drivers
you change are based on MFD cells rather than direct platform devices,
but it would fit in the series and should be easy enough to do.

I don't know why Rafael didn't do that for the initial series already, maybe
he had a good reason.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v1 00/13] intel-lpss: support non-ACPI platforms

2015-11-24 Thread Andy Shevchenko
This series includes few logical sets that bring a support of non-ACPI
platforms for Intel Skylake.

First part is a refactoring of built-in device properties support:
 - keep single value inside the structure
 - provide helper macros to define built-in properties
 - fall back to secondary fwnode if primary has no asked property

Second one is modifications to MFD code and intel-lpss.c driver in particular
to define and pass built-in properties to the individual drivers.

Last part is a fix for I2C bug found on Lenovo Yoga hardware and a first
converted user.

Built-in device properties is an alternative to platform data. It provides a
unified API that drivers can use to cover all cases at once: DT, ACPI, and
built-in properties.

With this series applied platform data can be considered obsolete. Moreover,
built-in device properties allows to adjust existing configuration, for
example, in cases when ACPI values are wrong on some platforms.

The series has been tested on available hardware and doesn't break current
behaviour. But we ask you, Kevin, to apply the series on your side and check
with Lenovo hardware.

Andy Shevchenko (8):
  device property: always check for fwnode type
  device property: rename helper functions
  device property: refactor built-in properties support
  device property: keep single value inplace
  device property: improve readability of macros
  device property: return -EINVAL when property isn't found in ACPI
  device property: Fallback to secondary fwnode if primary misses the
property
  mfd: core: propagate device properties to sub devices drivers

Heikki Krogerus (1):
  device property: helper macros for property entry creation

Mika Westerberg (4):
  mfd: intel-lpss: Add support for passing device properties
  mfd: intel-lpss: Pass HSUART configuration via properties
  mfd: intel-lpss: Pass SDA hold time to I2C host controller driver
  i2c: designware: Convert to use unified device property API

 drivers/acpi/property.c |  10 +-
 drivers/base/property.c | 298 +---
 drivers/i2c/busses/i2c-designware-platdrv.c |  48 ++---
 drivers/mfd/intel-lpss-acpi.c   |  18 +-
 drivers/mfd/intel-lpss-pci.c|  43 +++-
 drivers/mfd/intel-lpss.c|  16 +-
 drivers/mfd/intel-lpss.h|   2 +
 drivers/mfd/mfd-core.c  |   3 +
 include/linux/mfd/core.h|   5 +
 include/linux/property.h|  87 ++--
 10 files changed, 394 insertions(+), 136 deletions(-)

-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v1 00/13] intel-lpss: support non-ACPI platforms

2015-11-24 Thread Rafael J. Wysocki
On Tuesday, November 24, 2015 12:22:46 PM Andy Shevchenko wrote:
> This series includes few logical sets that bring a support of non-ACPI
> platforms for Intel Skylake.
> 
> First part is a refactoring of built-in device properties support:
>  - keep single value inside the structure
>  - provide helper macros to define built-in properties
>  - fall back to secondary fwnode if primary has no asked property
> 
> Second one is modifications to MFD code and intel-lpss.c driver in particular
> to define and pass built-in properties to the individual drivers.
> 
> Last part is a fix for I2C bug found on Lenovo Yoga hardware and a first
> converted user.
> 
> Built-in device properties is an alternative to platform data. It provides a
> unified API that drivers can use to cover all cases at once: DT, ACPI, and
> built-in properties.
> 
> With this series applied platform data can be considered obsolete. Moreover,
> built-in device properties allows to adjust existing configuration, for
> example, in cases when ACPI values are wrong on some platforms.
> 
> The series has been tested on available hardware and doesn't break current
> behaviour. But we ask you, Kevin, to apply the series on your side and check
> with Lenovo hardware.
> 
> Andy Shevchenko (8):
>   device property: always check for fwnode type
>   device property: rename helper functions
>   device property: refactor built-in properties support
>   device property: keep single value inplace
>   device property: improve readability of macros
>   device property: return -EINVAL when property isn't found in ACPI
>   device property: Fallback to secondary fwnode if primary misses the
> property
>   mfd: core: propagate device properties to sub devices drivers
> 
> Heikki Krogerus (1):
>   device property: helper macros for property entry creation
> 
> Mika Westerberg (4):
>   mfd: intel-lpss: Add support for passing device properties
>   mfd: intel-lpss: Pass HSUART configuration via properties
>   mfd: intel-lpss: Pass SDA hold time to I2C host controller driver
>   i2c: designware: Convert to use unified device property API
> 
>  drivers/acpi/property.c |  10 +-
>  drivers/base/property.c | 298 
> +---
>  drivers/i2c/busses/i2c-designware-platdrv.c |  48 ++---
>  drivers/mfd/intel-lpss-acpi.c   |  18 +-
>  drivers/mfd/intel-lpss-pci.c|  43 +++-
>  drivers/mfd/intel-lpss.c|  16 +-
>  drivers/mfd/intel-lpss.h|   2 +
>  drivers/mfd/mfd-core.c  |   3 +
>  include/linux/mfd/core.h|   5 +
>  include/linux/property.h|  87 ++--
>  10 files changed, 394 insertions(+), 136 deletions(-)

All patches in this series look good to me overall, but please fix the build
problems reported by 0-day and resubmit.

Thanks,
Rafael

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v1 00/13] intel-lpss: support non-ACPI platforms

2015-11-24 Thread Andy Shevchenko
On Tue, 2015-11-24 at 16:11 +0100, Rafael J. Wysocki wrote:
> On Tuesday, November 24, 2015 12:22:46 PM Andy Shevchenko wrote:
> > This series includes few logical sets that bring a support of non-
> > ACPI
> > platforms for Intel Skylake.
> > 
> > First part is a refactoring of built-in device properties support:
> >  - keep single value inside the structure
> >  - provide helper macros to define built-in properties
> >  - fall back to secondary fwnode if primary has no asked property
> > 
> > Second one is modifications to MFD code and intel-lpss.c driver in
> > particular
> > to define and pass built-in properties to the individual drivers.
> > 
> > Last part is a fix for I2C bug found on Lenovo Yoga hardware and a
> > first
> > converted user.
> > 
> > Built-in device properties is an alternative to platform data. It
> > provides a
> > unified API that drivers can use to cover all cases at once: DT,
> > ACPI, and
> > built-in properties.
> > 
> > With this series applied platform data can be considered obsolete.
> > Moreover,
> > built-in device properties allows to adjust existing configuration,
> > for
> > example, in cases when ACPI values are wrong on some platforms.
> > 
> > The series has been tested on available hardware and doesn't break
> > current
> > behaviour. But we ask you, Kevin, to apply the series on your side
> > and check
> > with Lenovo hardware.
> > 
> > Andy Shevchenko (8):
> >   device property: always check for fwnode type
> >   device property: rename helper functions
> >   device property: refactor built-in properties support
> >   device property: keep single value inplace
> >   device property: improve readability of macros
> >   device property: return -EINVAL when property isn't found in ACPI
> >   device property: Fallback to secondary fwnode if primary misses
> > the
> > property
> >   mfd: core: propagate device properties to sub devices drivers
> > 
> > Heikki Krogerus (1):
> >   device property: helper macros for property entry creation
> > 
> > Mika Westerberg (4):
> >   mfd: intel-lpss: Add support for passing device properties
> >   mfd: intel-lpss: Pass HSUART configuration via properties
> >   mfd: intel-lpss: Pass SDA hold time to I2C host controller driver
> >   i2c: designware: Convert to use unified device property API
> > 
> >  drivers/acpi/property.c |  10 +-
> >  drivers/base/property.c | 298
> > +---
> >  drivers/i2c/busses/i2c-designware-platdrv.c |  48 ++---
> >  drivers/mfd/intel-lpss-acpi.c   |  18 +-
> >  drivers/mfd/intel-lpss-pci.c|  43 +++-
> >  drivers/mfd/intel-lpss.c|  16 +-
> >  drivers/mfd/intel-lpss.h|   2 +
> >  drivers/mfd/mfd-core.c  |   3 +
> >  include/linux/mfd/core.h|   5 +
> >  include/linux/property.h|  87 ++--
> >  10 files changed, 394 insertions(+), 136 deletions(-)
> 
> All patches in this series look good to me overall, but please fix
> the build
> problems reported by 0-day and resubmit.

Thanks for fast response. We will do that later this week while
gathering comments from others.



> Thanks,
> Rafael
> 

-- 
Andy Shevchenko 
Intel Finland Oy

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html