Re: [PATCH v4 3/7] misc: Add cros_ec_lpc driver for x86 devices

2015-02-02 Thread Javier Martinez Canillas
Hello,

On 01/30/2015 01:51 PM, Javier Martinez Canillas wrote:
> On 01/29/2015 10:11 PM, Paul Bolle wrote:
>>> +   help
>>> + If you say Y here, you get support for talking to the ChromeOS EC
>>> + over an LPC bus. This uses a simple byte-level protocol with a
>>> + checksum. This is used for userspace access only. The kernel
>>> + typically has its own communication methods.
>>> +
>> 
>> What happens when you say M?
>> 
> 
> Since it is a tristate kconfig symbol, it can be built as a kernel module
> but since there isn't a LPC subsystem, the platform device is registered
> in the module_init() function. So, building as a module is trickier since
> there won't be an uevent that can trigger a module auto-load based on the
> modinfo aliases information.
> 

FYI, I noticed that other x86 platform drivers use the dmi system information
to fill dmi modaliases so the modules are auto-loaded. So I did the same and
posted a new version 5 [0] of this series.

Best regards,
Javier

[0]: https://lkml.org/lkml/2015/2/2/214
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 3/7] misc: Add cros_ec_lpc driver for x86 devices

2015-02-02 Thread Javier Martinez Canillas
Hello,

On 01/30/2015 01:51 PM, Javier Martinez Canillas wrote:
 On 01/29/2015 10:11 PM, Paul Bolle wrote:
 +   help
 + If you say Y here, you get support for talking to the ChromeOS EC
 + over an LPC bus. This uses a simple byte-level protocol with a
 + checksum. This is used for userspace access only. The kernel
 + typically has its own communication methods.
 +
 
 What happens when you say M?
 
 
 Since it is a tristate kconfig symbol, it can be built as a kernel module
 but since there isn't a LPC subsystem, the platform device is registered
 in the module_init() function. So, building as a module is trickier since
 there won't be an uevent that can trigger a module auto-load based on the
 modinfo aliases information.
 

FYI, I noticed that other x86 platform drivers use the dmi system information
to fill dmi modaliases so the modules are auto-loaded. So I did the same and
posted a new version 5 [0] of this series.

Best regards,
Javier

[0]: https://lkml.org/lkml/2015/2/2/214
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 3/7] misc: Add cros_ec_lpc driver for x86 devices

2015-01-30 Thread Javier Martinez Canillas
Hello Paul,

Thanks a lot for your feedback.

On 01/29/2015 10:11 PM, Paul Bolle wrote:
>>  
>> +config CROS_EC_LPC
>> +tristate "ChromeOS Embedded Controller (LPC)"
>> +depends on MFD_CROS_EC
>> +
> 
> Please drop this empty line.
>

Ok.
 
>> +help
>> +  If you say Y here, you get support for talking to the ChromeOS EC
>> +  over an LPC bus. This uses a simple byte-level protocol with a
>> +  checksum. This is used for userspace access only. The kernel
>> +  typically has its own communication methods.
>> +
> 
> What happens when you say M?
> 

Since it is a tristate kconfig symbol, it can be built as a kernel module
but since there isn't a LPC subsystem, the platform device is registered
in the module_init() function. So, building as a module is trickier since
there won't be an uevent that can trigger a module auto-load based on the
modinfo aliases information.

One can of course force udev to load the module by adding to modules.conf
or such but I wonder if is better to change from tristate to boolean or
add to the help that it can be built as a module but auto-load does not
work in that case.

Best regards,
Javier
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 3/7] misc: Add cros_ec_lpc driver for x86 devices

2015-01-30 Thread Javier Martinez Canillas
Hello Paul,

Thanks a lot for your feedback.

On 01/29/2015 10:11 PM, Paul Bolle wrote:
  
 +config CROS_EC_LPC
 +tristate ChromeOS Embedded Controller (LPC)
 +depends on MFD_CROS_EC
 +
 
 Please drop this empty line.


Ok.
 
 +help
 +  If you say Y here, you get support for talking to the ChromeOS EC
 +  over an LPC bus. This uses a simple byte-level protocol with a
 +  checksum. This is used for userspace access only. The kernel
 +  typically has its own communication methods.
 +
 
 What happens when you say M?
 

Since it is a tristate kconfig symbol, it can be built as a kernel module
but since there isn't a LPC subsystem, the platform device is registered
in the module_init() function. So, building as a module is trickier since
there won't be an uevent that can trigger a module auto-load based on the
modinfo aliases information.

One can of course force udev to load the module by adding to modules.conf
or such but I wonder if is better to change from tristate to boolean or
add to the help that it can be built as a module but auto-load does not
work in that case.

Best regards,
Javier
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 3/7] misc: Add cros_ec_lpc driver for x86 devices

2015-01-29 Thread Paul Bolle
Javier,

Trivial nits below.

On Thu, 2015-01-29 at 14:37 +0100, Javier Martinez Canillas wrote:
> From: Bill Richardson 
> 
> Chromebooks have an Embedded Controller (EC) that is used to
> implement various functions such as keyboard, power and battery.
> 
> The AP can communicate with the EC through different bus types
> such as I2C, SPI or LPC.
> 
> The cros_ec mfd driver is then composed of a core driver that
> register the sub-devices as mfd cells and provide a high level
> communication interface that is used by the rest of the kernel
> and bus specific interfaces modules.
> 
> Each connection method then has its own driver, which register
> with the EC driver interface-agnostic interface.
> 
> Currently, there are drivers to communicate with the EC over
> I2C and SPI and this driver adds support for LPC.
> 
> Signed-off-by: Bill Richardson 
> Signed-off-by: Javier Martinez Canillas 
> [...]
>  drivers/misc/Kconfig   |  10 ++
>  drivers/misc/Makefile  |   1 +
>  drivers/misc/cros_ec_lpc.c | 291 
> +
>  3 files changed, 302 insertions(+)
>  create mode 100644 drivers/misc/cros_ec_lpc.c
> 
> diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
> index 006242c8bca0..142393e84a43 100644
> --- a/drivers/misc/Kconfig
> +++ b/drivers/misc/Kconfig
> @@ -515,6 +515,16 @@ config VEXPRESS_SYSCFG
> bus. System Configuration interface is one of the possible means
> of generating transactions on this bus.
>  
> +config CROS_EC_LPC
> + tristate "ChromeOS Embedded Controller (LPC)"
> + depends on MFD_CROS_EC
> +

Please drop this empty line.

> + help
> +   If you say Y here, you get support for talking to the ChromeOS EC
> +   over an LPC bus. This uses a simple byte-level protocol with a
> +   checksum. This is used for userspace access only. The kernel
> +   typically has its own communication methods.
> +

What happens when you say M?

>  source "drivers/misc/c2port/Kconfig"
>  source "drivers/misc/eeprom/Kconfig"
>  source "drivers/misc/cb710/Kconfig"


Paul Bolle

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


Re: [PATCH v4 3/7] misc: Add cros_ec_lpc driver for x86 devices

2015-01-29 Thread Varka Bhadram
On Thu, Jan 29, 2015 at 7:07 PM, Javier Martinez Canillas
 wrote:
> From: Bill Richardson 
>
> Chromebooks have an Embedded Controller (EC) that is used to
> implement various functions such as keyboard, power and battery.
>
> The AP can communicate with the EC through different bus types
> such as I2C, SPI or LPC.
>
> The cros_ec mfd driver is then composed of a core driver that
> register the sub-devices as mfd cells and provide a high level
> communication interface that is used by the rest of the kernel
> and bus specific interfaces modules.
>
> Each connection method then has its own driver, which register
> with the EC driver interface-agnostic interface.
>
> Currently, there are drivers to communicate with the EC over
> I2C and SPI and this driver adds support for LPC.
>
> Signed-off-by: Bill Richardson 
> Signed-off-by: Javier Martinez Canillas 
> ---
>
> Changes since v3:
>  - Rename MYNAME to DRV_NAME
>  - Use devm_request_region() instead of request_region.
>Suggested by Varka Bhadram.
>  - Remove release_region from cleanup handle logic by using devres API.
>Suggested by Varka Bhadram.
>  - Use {dev,pr}_err() instead of {dev,pr}_warn() to log errors.
>

Addressed all of my comments... Thanks

Reviewed-by: Varka Bhadram 

-- 
Regards,
Varka Bhadram.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 3/7] misc: Add cros_ec_lpc driver for x86 devices

2015-01-29 Thread Varka Bhadram
On Thu, Jan 29, 2015 at 7:07 PM, Javier Martinez Canillas
javier.marti...@collabora.co.uk wrote:
 From: Bill Richardson wfric...@chromium.org

 Chromebooks have an Embedded Controller (EC) that is used to
 implement various functions such as keyboard, power and battery.

 The AP can communicate with the EC through different bus types
 such as I2C, SPI or LPC.

 The cros_ec mfd driver is then composed of a core driver that
 register the sub-devices as mfd cells and provide a high level
 communication interface that is used by the rest of the kernel
 and bus specific interfaces modules.

 Each connection method then has its own driver, which register
 with the EC driver interface-agnostic interface.

 Currently, there are drivers to communicate with the EC over
 I2C and SPI and this driver adds support for LPC.

 Signed-off-by: Bill Richardson wfric...@chromium.org
 Signed-off-by: Javier Martinez Canillas javier.marti...@collabora.co.uk
 ---

 Changes since v3:
  - Rename MYNAME to DRV_NAME
  - Use devm_request_region() instead of request_region.
Suggested by Varka Bhadram.
  - Remove release_region from cleanup handle logic by using devres API.
Suggested by Varka Bhadram.
  - Use {dev,pr}_err() instead of {dev,pr}_warn() to log errors.


Addressed all of my comments... Thanks

Reviewed-by: Varka Bhadram varkabhad...@gmail.com

-- 
Regards,
Varka Bhadram.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 3/7] misc: Add cros_ec_lpc driver for x86 devices

2015-01-29 Thread Paul Bolle
Javier,

Trivial nits below.

On Thu, 2015-01-29 at 14:37 +0100, Javier Martinez Canillas wrote:
 From: Bill Richardson wfric...@chromium.org
 
 Chromebooks have an Embedded Controller (EC) that is used to
 implement various functions such as keyboard, power and battery.
 
 The AP can communicate with the EC through different bus types
 such as I2C, SPI or LPC.
 
 The cros_ec mfd driver is then composed of a core driver that
 register the sub-devices as mfd cells and provide a high level
 communication interface that is used by the rest of the kernel
 and bus specific interfaces modules.
 
 Each connection method then has its own driver, which register
 with the EC driver interface-agnostic interface.
 
 Currently, there are drivers to communicate with the EC over
 I2C and SPI and this driver adds support for LPC.
 
 Signed-off-by: Bill Richardson wfric...@chromium.org
 Signed-off-by: Javier Martinez Canillas javier.marti...@collabora.co.uk
 [...]
  drivers/misc/Kconfig   |  10 ++
  drivers/misc/Makefile  |   1 +
  drivers/misc/cros_ec_lpc.c | 291 
 +
  3 files changed, 302 insertions(+)
  create mode 100644 drivers/misc/cros_ec_lpc.c
 
 diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
 index 006242c8bca0..142393e84a43 100644
 --- a/drivers/misc/Kconfig
 +++ b/drivers/misc/Kconfig
 @@ -515,6 +515,16 @@ config VEXPRESS_SYSCFG
 bus. System Configuration interface is one of the possible means
 of generating transactions on this bus.
  
 +config CROS_EC_LPC
 + tristate ChromeOS Embedded Controller (LPC)
 + depends on MFD_CROS_EC
 +

Please drop this empty line.

 + help
 +   If you say Y here, you get support for talking to the ChromeOS EC
 +   over an LPC bus. This uses a simple byte-level protocol with a
 +   checksum. This is used for userspace access only. The kernel
 +   typically has its own communication methods.
 +

What happens when you say M?

  source drivers/misc/c2port/Kconfig
  source drivers/misc/eeprom/Kconfig
  source drivers/misc/cb710/Kconfig


Paul Bolle

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/