Re: [PATCHv4 2/2] ARM: P2V: Remove ARM_PATCH_PHYS_VIRT_16BIT

2011-08-11 Thread Russell King - ARM Linux
On Wed, Jul 27, 2011 at 12:19:15PM -0700, Stephen Boyd wrote:
 From: Nicolas Pitre nicolas.pi...@linaro.org
 
 This code can be removed now that MSM targets no longer need the 16-bit
 offsets for P2V.
 
 Signed-off-by: Nicolas Pitre nicolas.pi...@linaro.org
 Signed-off-by: Stephen Boyd sb...@codeaurora.org

Can you submit these two patches to the patch system so they can be
integrated with the patch to enable by default the p2v patching please?

You will need to update then against my for-next branch to account for
that change - it should only be context changes in arch/arm/Kconfig.

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


RE: [PATCH 11/13] ARM: gpio: consolidate trivial gpiolib implementations

2011-08-11 Thread Kukjin Kim
Russell King - ARM Linux wrote:
 
 Consolidate 24 trivial gpiolib implementions out of mach/gpio.h
 into asm/gpio.h.  This is basically the include of asm-generic/gpio.h
 and the definition of gpio_get_value, gpio_set_value, and gpio_cansleep
 as described in Documentation/gpio.txt
 
 Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk

Acked-by: Kukjin Kim kgene@samsung.com
on following Samsung stuff...

As a note, there were duplicated e-mail address Grant and Nicolas in Cc ;)
I just pushed 'reply all' :)

Thanks.

Best regards,
Kgene.
--
Kukjin Kim kgene@samsung.com, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

 ---
  arch/arm/include/asm/gpio.h |   10 ++
...
  arch/arm/mach-exynos4/include/mach/gpio.h   |5 +
...
  arch/arm/mach-s3c2410/include/mach/gpio.h   |5 +
  arch/arm/mach-s3c64xx/include/mach/gpio.h   |6 +-
  arch/arm/mach-s5p64x0/include/mach/gpio.h   |6 +-
  arch/arm/mach-s5pc100/include/mach/gpio.h   |6 +-
  arch/arm/mach-s5pv210/include/mach/gpio.h   |6 +-
 
 diff --git a/arch/arm/include/asm/gpio.h b/arch/arm/include/asm/gpio.h
 index 166a7a3..15e8970 100644
 --- a/arch/arm/include/asm/gpio.h
 +++ b/arch/arm/include/asm/gpio.h
 @@ -4,4 +4,14 @@
  /* not all ARM platforms necessarily support this API ... */
  #include mach/gpio.h
 
 +#ifdef __ARM_GPIOLIB_TRIVIAL
 +/* Note: this may rely upon the value of ARCH_NR_GPIOS set in mach/gpio.h
*/
 +#include asm-generic/gpio.h
 +
 +/* The trivial gpiolib dispatchers */
 +#define gpio_get_value  __gpio_get_value
 +#define gpio_set_value  __gpio_set_value
 +#define gpio_cansleep   __gpio_cansleep
 +#endif
 +
  #endif /* _ARCH_ARM_GPIO_H */
 diff --git a/arch/arm/mach-exynos4/include/mach/gpio.h b/arch/arm/mach-
 exynos4/include/mach/gpio.h
 index be9266b..b2e3595 100644
 --- a/arch/arm/mach-exynos4/include/mach/gpio.h
 +++ b/arch/arm/mach-exynos4/include/mach/gpio.h
 @@ -13,9 +13,6 @@
  #ifndef __ASM_ARCH_GPIO_H
  #define __ASM_ARCH_GPIO_H __FILE__
 
 -#define gpio_get_value   __gpio_get_value
 -#define gpio_set_value   __gpio_set_value
 -#define gpio_cansleep__gpio_cansleep
  #define gpio_to_irq  __gpio_to_irq
 
  /* Practically, GPIO banks up to GPZ are the configurable gpio banks */
 @@ -151,6 +148,6 @@ enum s5p_gpio_number {
  #define ARCH_NR_GPIOS
   (EXYNOS4_GPZ(EXYNOS4_GPIO_Z_NR) +   \
CONFIG_SAMSUNG_GPIO_EXTRA + 1)
 
 -#include asm-generic/gpio.h
 +#define __ARM_GPIOLIB_TRIVIAL
 
  #endif /* __ASM_ARCH_GPIO_H */

 diff --git a/arch/arm/mach-s3c2410/include/mach/gpio.h b/arch/arm/mach-
 s3c2410/include/mach/gpio.h
 index f7f6b07..998ef4c 100644
 --- a/arch/arm/mach-s3c2410/include/mach/gpio.h
 +++ b/arch/arm/mach-s3c2410/include/mach/gpio.h
 @@ -11,9 +11,7 @@
   * published by the Free Software Foundation.
  */
 
 -#define gpio_get_value   __gpio_get_value
 -#define gpio_set_value   __gpio_set_value
 -#define gpio_cansleep__gpio_cansleep
 +#define __ARM_GPIOLIB_TRIVIAL
  #define gpio_to_irq  __gpio_to_irq
 
  /* some boards require extra gpio capacity to support external
 @@ -28,7 +26,6 @@
  #define ARCH_NR_GPIOS(256 + CONFIG_S3C24XX_GPIO_EXTRA)
  #endif
 
 -#include asm-generic/gpio.h
  #include mach/gpio-nrs.h
  #include mach/gpio-fns.h
 
 diff --git a/arch/arm/mach-s3c64xx/include/mach/gpio.h b/arch/arm/mach-
 s3c64xx/include/mach/gpio.h
 index 0d46e99..6958b3f 100644
 --- a/arch/arm/mach-s3c64xx/include/mach/gpio.h
 +++ b/arch/arm/mach-s3c64xx/include/mach/gpio.h
 @@ -12,9 +12,7 @@
   * published by the Free Software Foundation.
  */
 
 -#define gpio_get_value   __gpio_get_value
 -#define gpio_set_value   __gpio_set_value
 -#define gpio_cansleep__gpio_cansleep
 +#define __ARM_GPIOLIB_TRIVIAL
  #define gpio_to_irq  __gpio_to_irq
 
  /* GPIO bank sizes */
 @@ -96,5 +94,3 @@ enum s3c_gpio_number {
  #define BOARD_NR_GPIOS 16
 
  #define ARCH_NR_GPIOS(GPIO_BOARD_START + BOARD_NR_GPIOS)
 -
 -#include asm-generic/gpio.h
 diff --git a/arch/arm/mach-s5p64x0/include/mach/gpio.h b/arch/arm/mach-
 s5p64x0/include/mach/gpio.h
 index adb5f29..a25160b 100644
 --- a/arch/arm/mach-s5p64x0/include/mach/gpio.h
 +++ b/arch/arm/mach-s5p64x0/include/mach/gpio.h
 @@ -13,9 +13,7 @@
  #ifndef __ASM_ARCH_GPIO_H
  #define __ASM_ARCH_GPIO_H __FILE__
 
 -#define gpio_get_value   __gpio_get_value
 -#define gpio_set_value   __gpio_set_value
 -#define gpio_cansleep__gpio_cansleep
 +#define __ARM_GPIOLIB_TRIVIAL
  #define gpio_to_irq  __gpio_to_irq
 
  /* GPIO bank sizes */
 @@ -134,6 +132,4 @@ enum s5p6450_gpio_number {
 
  #define ARCH_NR_GPIOS(S5P64X0_GPIO_END +
 CONFIG_SAMSUNG_GPIO_EXTRA)
 
 -#include asm-generic/gpio.h
 -
  #endif /* __ASM_ARCH_GPIO_H */
 diff --git a/arch/arm/mach-s5pc100/include/mach/gpio.h b/arch/arm/mach-
 s5pc100/include/mach/gpio.h
 index 29a8a12..f515bfb 100644
 --- 

RE: [PATCH 13/13] ARM: gpio: make trivial GPIOLIB implementation the default

2011-08-11 Thread Kukjin Kim
Russell King - ARM Linux wrote:
 
 Rather than marking the mach/gpio.h header files which want to use the
 trivial GPIOLIB implementation, mark those which do not want to use it
 instead.  This means that by default, you get the trivial implementation
 and only have to do something extra if you need to.  This should
 encourage the use of the trivial default implementation.
 
 As an additional bonus, several gpio.h header files become empty.
 
 Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk

Looks good to me :)

Acked-by: Kukjin Kim kgene@samsung.com

on following Samsung stuff...

Thanks.

Best regards,
Kgene.
--
Kukjin Kim kgene@samsung.com, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

 ---
  arch/arm/include/asm/gpio.h |2 +-

  arch/arm/mach-exynos4/include/mach/gpio.h   |2 --

  arch/arm/mach-s3c2410/include/mach/gpio.h   |2 --
  arch/arm/mach-s3c64xx/include/mach/gpio.h   |2 --
  arch/arm/mach-s5p64x0/include/mach/gpio.h   |2 --
  arch/arm/mach-s5pc100/include/mach/gpio.h   |2 --
  arch/arm/mach-s5pv210/include/mach/gpio.h   |2 --
 
 diff --git a/arch/arm/include/asm/gpio.h b/arch/arm/include/asm/gpio.h
 index 5032224..11ad0bf 100644
 --- a/arch/arm/include/asm/gpio.h
 +++ b/arch/arm/include/asm/gpio.h
 @@ -4,7 +4,7 @@
  /* not all ARM platforms necessarily support this API ... */
  #include mach/gpio.h
 
 -#ifdef __ARM_GPIOLIB_TRIVIAL
 +#ifndef __ARM_GPIOLIB_COMPLEX
  /* Note: this may rely upon the value of ARCH_NR_GPIOS set in mach/gpio.h
*/
  #include asm-generic/gpio.h
 

 diff --git a/arch/arm/mach-exynos4/include/mach/gpio.h b/arch/arm/mach-
 exynos4/include/mach/gpio.h
 index b91e8b2..80523ca 100644
 --- a/arch/arm/mach-exynos4/include/mach/gpio.h
 +++ b/arch/arm/mach-exynos4/include/mach/gpio.h
 @@ -146,6 +146,4 @@ enum s5p_gpio_number {
  #define ARCH_NR_GPIOS
   (EXYNOS4_GPZ(EXYNOS4_GPIO_Z_NR) +   \
CONFIG_SAMSUNG_GPIO_EXTRA + 1)
 
 -#define __ARM_GPIOLIB_TRIVIAL
 -
  #endif /* __ASM_ARCH_GPIO_H */

 diff --git a/arch/arm/mach-s3c2410/include/mach/gpio.h b/arch/arm/mach-
 s3c2410/include/mach/gpio.h
 index d502d17..6fac70f 100644
 --- a/arch/arm/mach-s3c2410/include/mach/gpio.h
 +++ b/arch/arm/mach-s3c2410/include/mach/gpio.h
 @@ -11,8 +11,6 @@
   * published by the Free Software Foundation.
  */
 
 -#define __ARM_GPIOLIB_TRIVIAL
 -
  /* some boards require extra gpio capacity to support external
   * devices that need GPIO.
   */
 diff --git a/arch/arm/mach-s3c64xx/include/mach/gpio.h b/arch/arm/mach-
 s3c64xx/include/mach/gpio.h
 index 3a8857c..6e34c2f 100644
 --- a/arch/arm/mach-s3c64xx/include/mach/gpio.h
 +++ b/arch/arm/mach-s3c64xx/include/mach/gpio.h
 @@ -12,8 +12,6 @@
   * published by the Free Software Foundation.
  */
 
 -#define __ARM_GPIOLIB_TRIVIAL
 -
  /* GPIO bank sizes */
  #define S3C64XX_GPIO_A_NR(8)
  #define S3C64XX_GPIO_B_NR(7)
 diff --git a/arch/arm/mach-s5p64x0/include/mach/gpio.h b/arch/arm/mach-
 s5p64x0/include/mach/gpio.h
 index c3a6aa0..06cd3c9 100644
 --- a/arch/arm/mach-s5p64x0/include/mach/gpio.h
 +++ b/arch/arm/mach-s5p64x0/include/mach/gpio.h
 @@ -13,8 +13,6 @@
  #ifndef __ASM_ARCH_GPIO_H
  #define __ASM_ARCH_GPIO_H __FILE__
 
 -#define __ARM_GPIOLIB_TRIVIAL
 -
  /* GPIO bank sizes */
 
  #define S5P6440_GPIO_A_NR(6)
 diff --git a/arch/arm/mach-s5pc100/include/mach/gpio.h b/arch/arm/mach-
 s5pc100/include/mach/gpio.h
 index 0e75641..5e1a924 100644
 --- a/arch/arm/mach-s5pc100/include/mach/gpio.h
 +++ b/arch/arm/mach-s5pc100/include/mach/gpio.h
 @@ -15,8 +15,6 @@
  #ifndef __ASM_ARCH_GPIO_H
  #define __ASM_ARCH_GPIO_H __FILE__
 
 -#define __ARM_GPIOLIB_TRIVIAL
 -
  /* GPIO bank sizes */
  #define S5PC100_GPIO_A0_NR   (8)
  #define S5PC100_GPIO_A1_NR   (5)
 diff --git a/arch/arm/mach-s5pv210/include/mach/gpio.h b/arch/arm/mach-
 s5pv210/include/mach/gpio.h
 index d348ee2..6c8b903 100644
 --- a/arch/arm/mach-s5pv210/include/mach/gpio.h
 +++ b/arch/arm/mach-s5pv210/include/mach/gpio.h
 @@ -13,8 +13,6 @@
  #ifndef __ASM_ARCH_GPIO_H
  #define __ASM_ARCH_GPIO_H __FILE__
 
 -#define __ARM_GPIOLIB_TRIVIAL
 -
  /* Practically, GPIO banks up to MP03 are the configurable gpio banks */
 
  /* GPIO bank sizes */

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


Re: [RFC PATCH] slimbus: Linux driver framework for SLIMbus.

2011-08-11 Thread Arnd Bergmann
On Thursday 11 August 2011, Kenneth Heitke wrote:
 From: Sagar Dharia sdha...@codeaurora.org
 
 SLIMbus (Serial Low Power Interchip Media Bus) is a specification
 developed by MIPI (Mobile Industry Processor Interface) alliance.

Hi Kenneth and Sagar,

On a very high level, I think the driver is in the right place here,
and it's appropriate to have a new bus type along with similar
existing bus_types like i2c. It's also good to see that you have
a good documentation file for this bus.

My main issue with the driver is the device registration method
that now looks a bit aged. More about this below.

 +
 +struct device slimbus_dev = {
 + .init_name = slimbus,
 +};
 +
 +static void __exit slimbus_exit(void)
 +{
 + device_unregister(slimbus_dev);
 + bus_unregister(slimbus_type);
 +}
 +
 +static int __init slimbus_init(void)
 +{
 + int retval;
 +
 + retval = bus_register(slimbus_type);
 + if (!retval)
 + retval = device_register(slimbus_dev);
 +
 + if (retval)
 + bus_unregister(slimbus_type);
 +
 + return retval;
 +}
 +postcore_initcall(slimbus_init);
 +module_exit(slimbus_exit);

Why do you need slimbus_dev? I think it would be cleaner to
set the parent of each controller to the device that actually
acts as their physical parent, e.g. an SOC device or an AMBA
bus.

 +static int slim_drv_probe(struct device *dev)
 +{
 + const struct slim_driver *sdrv = to_slim_driver(dev-driver);
 +
 + if (sdrv-probe)
 + return sdrv-probe(to_slim_device(dev));
 + return -ENODEV;
 +}
 +
 +static int slim_drv_remove(struct device *dev)
 +{
 + const struct slim_driver *sdrv = to_slim_driver(dev-driver);
 +
 + if (sdrv-remove)
 + return sdrv-remove(to_slim_device(dev));
 + return -ENODEV;
 +}
 +
 +static void slim_drv_shutdown(struct device *dev)
 +{
 + const struct slim_driver *sdrv = to_slim_driver(dev-driver);
 +
 + if (sdrv-shutdown)
 + sdrv-shutdown(to_slim_device(dev));
 +}
 +
 +/*
 + * slim_driver_register: Client driver registration with slimbus
 + * @drv:Client driver to be associated with client-device.
 + * This API will register the client driver with the slimbus
 + * It is called from the driver's module-init function.
 + */
 +int slim_driver_register(struct slim_driver *drv)
 +{
 + drv-driver.bus = slimbus_type;
 + if (drv-probe)
 + drv-driver.probe = slim_drv_probe;
 +
 + if (drv-remove)
 + drv-driver.remove = slim_drv_remove;
 +
 + if (drv-shutdown)
 + drv-driver.shutdown = slim_drv_shutdown;
 +
 + return driver_register(drv-driver);
 +}
 +EXPORT_SYMBOL_GPL(slim_driver_register);

No need to check the -probe/-remove/-shutdown fields twice.

 +/*
 + * slim_add_device: Add a new device without register board info.
 + * @ctrl: Controller to which this device is to be added to.
 + * Called when device doesn't have an explicit client-driver to be probed, or
 + * the client-driver is a module installed dynamically.
 + */
 +int slim_add_device(struct slim_controller *ctrl, struct slim_device *sbdev)
 +{
 + int ret = 0;
 +
 + sbdev-dev.bus = slimbus_type;
 + sbdev-dev.parent = ctrl-dev.parent;
 + sbdev-dev.type = slim_dev_type;
 + sbdev-ctrl = ctrl;
 + slim_ctrl_get(ctrl);
 + dev_set_name(sbdev-dev, %s, sbdev-name);
 + /* probe slave on this controller */
 + ret = device_register(sbdev-dev);
 +
 + if (ret)
 + return ret;
 +
 + mutex_init(sbdev-sldev_reconf);
 + INIT_LIST_HEAD(sbdev-mark_define);
 + INIT_LIST_HEAD(sbdev-mark_suspend);
 + INIT_LIST_HEAD(sbdev-mark_removal);
 + return 0;
 +}
 +EXPORT_SYMBOL_GPL(slim_add_device);

I don't think this should be exported: AFAICT, the set of slim_devices
is a property of the platform, so I don't see how any other device driver
would add another device.

 +/*
 + * slim_register_board_info: Board-initialization routine.
 + * @info: List of all devices on all controllers present on the board.
 + * @n: number of entries.
 + * API enumerates respective devices on corresponding controller.
 + * Called from board-init function.
 + */
 +int slim_register_board_info(struct slim_boardinfo const *info, unsigned n)
 +{
 + struct sbi_boardinfo *bi;
 + int i;
 +
 + bi = kzalloc(n * sizeof(*bi), GFP_KERNEL);
 + if (!bi)
 + return -ENOMEM;
 +
 + for (i = 0; i  n; i++, bi++, info++) {
 + struct slim_controller *ctrl;
 +
 + memcpy(bi-board_info, info, sizeof(*info));
 + mutex_lock(board_lock);
 + list_add_tail(bi-list, board_list);
 + list_for_each_entry(ctrl, slim_ctrl_list, list)
 + slim_match_ctrl_to_boardinfo(ctrl, bi-board_info);
 + mutex_unlock(board_lock);
 + }
 + return 0;
 +}
 +EXPORT_SYMBOL_GPL(slim_register_board_info);

We are trying to gradually convert platforms that have hardcoded device
lists and cannot 

Re: [PATCH 11/13] ARM: gpio: consolidate trivial gpiolib implementations

2011-08-11 Thread Felipe Balbi
On Tue, Aug 09, 2011 at 09:08:01AM +0100, Russell King - ARM Linux wrote:
 Consolidate 24 trivial gpiolib implementions out of mach/gpio.h
 into asm/gpio.h.  This is basically the include of asm-generic/gpio.h
 and the definition of gpio_get_value, gpio_set_value, and gpio_cansleep
 as described in Documentation/gpio.txt
 
 Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
 ---
  arch/arm/include/asm/gpio.h |   10 ++
  arch/arm/mach-at91/include/mach/gpio.h  |5 +
  arch/arm/mach-ep93xx/include/mach/gpio.h|7 +--
  arch/arm/mach-exynos4/include/mach/gpio.h   |5 +
  arch/arm/mach-gemini/include/mach/gpio.h|5 +
  arch/arm/mach-ks8695/include/mach/gpio.h|   11 ++-
  arch/arm/mach-lpc32xx/include/mach/gpio.h   |   17 +
  arch/arm/mach-msm/include/mach/gpio.h   |5 +
  arch/arm/mach-mxs/include/mach/gpio.h   |6 +-
  arch/arm/mach-realview/include/mach/gpio.h  |6 +-
  arch/arm/mach-s3c2410/include/mach/gpio.h   |5 +
  arch/arm/mach-s3c64xx/include/mach/gpio.h   |6 +-
  arch/arm/mach-s5p64x0/include/mach/gpio.h   |6 +-
  arch/arm/mach-s5pc100/include/mach/gpio.h   |6 +-
  arch/arm/mach-s5pv210/include/mach/gpio.h   |6 +-
  arch/arm/mach-shmobile/include/mach/gpio.h  |   15 +--
  arch/arm/mach-tegra/include/mach/gpio.h |6 +-
  arch/arm/mach-versatile/include/mach/gpio.h |6 +-
  arch/arm/mach-vt8500/include/mach/gpio.h|6 +-
  arch/arm/mach-w90x900/include/mach/gpio.h   |5 +
  arch/arm/plat-mxc/include/mach/gpio.h   |5 +
  arch/arm/plat-nomadik/include/plat/gpio.h   |   11 +--
  arch/arm/plat-omap/include/plat/gpio.h  |   15 +--
  arch/arm/plat-orion/include/plat/gpio.h |6 ++
  arch/arm/plat-spear/include/plat/gpio.h |6 +-
  25 files changed, 36 insertions(+), 151 deletions(-)
 
 diff --git a/arch/arm/include/asm/gpio.h b/arch/arm/include/asm/gpio.h
 index 166a7a3..15e8970 100644
 --- a/arch/arm/include/asm/gpio.h
 +++ b/arch/arm/include/asm/gpio.h
 @@ -4,4 +4,14 @@
  /* not all ARM platforms necessarily support this API ... */
  #include mach/gpio.h
  
 +#ifdef __ARM_GPIOLIB_TRIVIAL
 +/* Note: this may rely upon the value of ARCH_NR_GPIOS set in mach/gpio.h */
 +#include asm-generic/gpio.h
 +
 +/* The trivial gpiolib dispatchers */
 +#define gpio_get_value  __gpio_get_value
 +#define gpio_set_value  __gpio_set_value
 +#define gpio_cansleep   __gpio_cansleep
 +#endif

could that be a selectable symbol ? Something like:

CONFIG_HAS_ARM_TRIVIAL_GPIO

then on Kconfig you just:

select HAS_ARM_TIVIAL_GPIO or something ?

-- 
balbi


signature.asc
Description: Digital signature


Re: [PATCH 11/13] ARM: gpio: consolidate trivial gpiolib implementations

2011-08-11 Thread Russell King - ARM Linux
On Thu, Aug 11, 2011 at 08:47:18PM +0900, Kukjin Kim wrote:
 Russell King - ARM Linux wrote:
  
  Consolidate 24 trivial gpiolib implementions out of mach/gpio.h
  into asm/gpio.h.  This is basically the include of asm-generic/gpio.h
  and the definition of gpio_get_value, gpio_set_value, and gpio_cansleep
  as described in Documentation/gpio.txt
  
  Signed-off-by: Russell King rmk+ker...@arm.linux.org.uk
 
 Acked-by: Kukjin Kim kgene@samsung.com
 on following Samsung stuff...

Thanks.

 As a note, there were duplicated e-mail address Grant and Nicolas in Cc ;)
 I just pushed 'reply all' :)

That's not in the original email, and isn't in any one elses replies
--
To unsubscribe from this list: send the line unsubscribe linux-arm-msm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 11/13] ARM: gpio: consolidate trivial gpiolib implementations

2011-08-11 Thread Russell King - ARM Linux
On Thu, Aug 11, 2011 at 05:15:31PM +0300, Felipe Balbi wrote:
 On Tue, Aug 09, 2011 at 09:08:01AM +0100, Russell King - ARM Linux wrote:
  diff --git a/arch/arm/include/asm/gpio.h b/arch/arm/include/asm/gpio.h
  index 166a7a3..15e8970 100644
  --- a/arch/arm/include/asm/gpio.h
  +++ b/arch/arm/include/asm/gpio.h
  @@ -4,4 +4,14 @@
   /* not all ARM platforms necessarily support this API ... */
   #include mach/gpio.h
   
  +#ifdef __ARM_GPIOLIB_TRIVIAL
  +/* Note: this may rely upon the value of ARCH_NR_GPIOS set in mach/gpio.h 
  */
  +#include asm-generic/gpio.h
  +
  +/* The trivial gpiolib dispatchers */
  +#define gpio_get_value  __gpio_get_value
  +#define gpio_set_value  __gpio_set_value
  +#define gpio_cansleep   __gpio_cansleep
  +#endif
 
 could that be a selectable symbol ? Something like:
 
 CONFIG_HAS_ARM_TRIVIAL_GPIO
 
 then on Kconfig you just:
 
 select HAS_ARM_TIVIAL_GPIO or something ?

That makes things more complicated, because that involves digging through
a lot of platform code in a couple of places to work out exactly when we
need this - and it crosses the boundary to arch/sh too.

So I'd prefer to keep this simple.

The long-term goal is to remove that symbol entirely, but in order to do
that we need to kill of the optimized on-board SoC stuff in those (few)
gpio.h which don't have the symbol selected.  This is rather necessary to
progress towards the consolidated kernel.  (Re-inventing gpiolib by moving
them out of line isn't a good idea...)
--
To unsubscribe from this list: send the line unsubscribe linux-arm-msm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 11/13] ARM: gpio: consolidate trivial gpiolib implementations

2011-08-11 Thread David Brown
On Thu, Aug 11, 2011 at 04:08:07PM +0100, Russell King - ARM Linux wrote:

  As a note, there were duplicated e-mail address Grant and Nicolas in Cc ;)
  I just pushed 'reply all' :)
 
 That's not in the original email, and isn't in any one elses replies

The original patches have a doubled CC line.  I think most mailers
eliminate the duplicates, though.

David

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
To unsubscribe from this list: send the line unsubscribe linux-arm-msm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 11/13] ARM: gpio: consolidate trivial gpiolib implementations

2011-08-11 Thread Felipe Balbi
Hi,

On Thu, Aug 11, 2011 at 04:07:18PM +0100, Russell King - ARM Linux wrote:
 On Thu, Aug 11, 2011 at 05:15:31PM +0300, Felipe Balbi wrote:
  On Tue, Aug 09, 2011 at 09:08:01AM +0100, Russell King - ARM Linux wrote:
   diff --git a/arch/arm/include/asm/gpio.h b/arch/arm/include/asm/gpio.h
   index 166a7a3..15e8970 100644
   --- a/arch/arm/include/asm/gpio.h
   +++ b/arch/arm/include/asm/gpio.h
   @@ -4,4 +4,14 @@
/* not all ARM platforms necessarily support this API ... */
#include mach/gpio.h

   +#ifdef __ARM_GPIOLIB_TRIVIAL
   +/* Note: this may rely upon the value of ARCH_NR_GPIOS set in 
   mach/gpio.h */
   +#include asm-generic/gpio.h
   +
   +/* The trivial gpiolib dispatchers */
   +#define gpio_get_value  __gpio_get_value
   +#define gpio_set_value  __gpio_set_value
   +#define gpio_cansleep   __gpio_cansleep
   +#endif
  
  could that be a selectable symbol ? Something like:
  
  CONFIG_HAS_ARM_TRIVIAL_GPIO
  
  then on Kconfig you just:
  
  select HAS_ARM_TIVIAL_GPIO or something ?
 
 That makes things more complicated, because that involves digging through
 a lot of platform code in a couple of places to work out exactly when we
 need this - and it crosses the boundary to arch/sh too.
 
 So I'd prefer to keep this simple.
 
 The long-term goal is to remove that symbol entirely, but in order to do
 that we need to kill of the optimized on-board SoC stuff in those (few)
 gpio.h which don't have the symbol selected.  This is rather necessary to
 progress towards the consolidated kernel.  (Re-inventing gpiolib by moving
 them out of line isn't a good idea...)

Ok, I understand.

-- 
balbi


signature.asc
Description: Digital signature


Re: [PATCH] mmc: Use pr_level, add and use mmc_level

2011-08-11 Thread David Brown
On Thu, Aug 11, 2011 at 01:21:24PM -0700, Joe Perches wrote:
 Use current logging styles.
 
 Add an mmc_printk function to reduce overall size
 by centralizing the mmc_hostname use.
 
 Because pr_fmt(fmt) KBUILD_MODNAME is used,
 some logging prefixes are changed.
 For instance from SDIO: to mmc_core:
 
 Add macros for mmc_err, mmc_warn, and mmc_info.
 Convert printks with mmc_hostname to mmc_level.
 
 Whitespace neatening around pr_level.
 Convert printk(KERN_DEBUG to pr_debug(
 Convert direct uses of DBG macros to pr_debug.
 Convert direct uses of DBGF to DBG.
 Coalesce long format strings.
 Add a few missing newlines to logging messages.
 
 $ size drivers/mmc/built-in.o*
text  data bss dec hex filename
   92530  1608 204   94342   17086 
 drivers/mmc/built-in.o.minimal.new
   94229  1608 204   96041   17729 
 drivers/mmc/built-in.o.minimal.old
  291831  5152   77344  374327   5b637 
 drivers/mmc/built-in.o.allyesconfig.new
  293616  5152   78128  376896   5c040 
 drivers/mmc/built-in.o.allyesconfig.old
 
 Signed-off-by: Joe Perches j...@perches.com
 ---
  drivers/mmc/host/msm_sdcc.c |  103 +--

Acked-by: David Brown dav...@codeaurora.org

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
To unsubscribe from this list: send the line unsubscribe linux-arm-msm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH] slimbus: Linux driver framework for SLIMbus.

2011-08-11 Thread Kenneth Heitke

On 08/11/2011 06:55 AM, Arnd Bergmann wrote:

On Thursday 11 August 2011, Kenneth Heitke wrote:

From: Sagar Dhariasdha...@codeaurora.org

SLIMbus (Serial Low Power Interchip Media Bus) is a specification
developed by MIPI (Mobile Industry Processor Interface) alliance.


Hi Kenneth and Sagar,

On a very high level, I think the driver is in the right place here,
and it's appropriate to have a new bus type along with similar
existing bus_types like i2c. It's also good to see that you have
a good documentation file for this bus.

My main issue with the driver is the device registration method
that now looks a bit aged. More about this below.



Arnd,

Thank you for taking the time to review the driver.  I appreciate your 
comments and will roll them in to the next revision of the driver.  I'll 
also try to follow up with any questions and concerns that you raised.


thanks,
Ken

--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
To unsubscribe from this list: send the line unsubscribe linux-arm-msm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCHv4 1/2] ARM: Set proper TEXT_OFFSET for newer MSMs

2011-08-11 Thread David Brown
On Wed, Jul 27, 2011 at 12:19:14PM -0700, Stephen Boyd wrote:
 MSMs post 8x50 have 2Mb at the beginning of RAM reserved for
 shared memory. Since the kernel hasn't typically been told this
 RAM exists, PHYS_OFFSET has been set to 0xN020 and the memory
 atags passed to the kernel have matched. This doesn't play nicely
 with things such as AUTO_ZRELADDR, which doesn't work at all, and
 dynamic phys to virt, which requires an MSM specific workaround.
 
 Work around these issues by telling the kernel RAM starts at
 0xN000 (it actually does) and fixup the atags from the
 bootloader (if necessary) to say the same. In addition, make sure
 to set TEXT_OFFSET at least 2Mb beyond the start of RAM so that
 the kernel doesn't end up being decompressed into shared memory.
 
 After doing this, AUTO_ZRELADDR should work on MSM with no
 problems and ARM_PATCH_PHYS_VIRT_16BIT should no longer be
 necessary.
 
 Signed-off-by: Stephen Boyd sb...@codeaurora.org
 Acked-by: Nicolas Pitre nicolas.pi...@linaro.org
 ---

Acked-by: David Brown dav...@codeaurora.org

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
To unsubscribe from this list: send the line unsubscribe linux-arm-msm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html