From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Majewski Date: Mon, 19 Sep 2011 17:06:04 +0200 Subject: [U-Boot] [RFC 0/2] Generic PMIC driver In-Reply-To: <1314868412-2949-1-git-send-email-l.majewski@samsung.com> References: <1314868412-2949-1-git-send-email-l.majewski@samsung.com> Message-ID: <1316444766-20550-1-git-send-email-l.majewski@samsung.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear all, I'd like to propose a new approach for PMIC generic driver. In my opinion following issues needs discussion: 1. In proposed int pmic_reg_read(struct pmic *p, u32 *val) the val is returned by pointer. Now at fsl_pmic.c read value is returned by return clause. I think, that passing pointer is a better approach,since errors from i2c_read/spi_read can be caught in upper layers. 2. Since I haven't got a chance to test SPI part of the fsl_pmic.c driver, I've focused mainly on I2C and place stubs for SPI. 3. Suggestions for struct pmic's additional fields for SPI are more than welcome :-) 4. Now the pmic_core.c file consist of #ifdef PMIC_I2C {Code for handling I2C} #else {Code for handling SPI} #endif The same approach is used at fsl_pmic.c I'm wondering if this approach shouldn't be replaced with on-time checking if SPI or I2C interface is available. This check can be performed by: struct pmic *p; if (p->interface == PMIC_I2C) { } else { } It would allow to remove obscure #ifdefs, but on the other hand it will reduce execution speed of the driver. Thanks in advance, Lukasz Lukasz Majewski (2): misc:pmic New generic pmic driver misc:pmic:max8998: Support for max8998 pmic arch/arm/lib/board.c | 5 + board/samsung/goni/goni.c | 18 ++++ drivers/misc/Makefile | 1 + drivers/misc/pmic_core.c | 236 ++++++++++++++++++++++++++++++++++++++++++++ include/configs/s5p_goni.h | 3 + include/max8998_pmic.h | 84 ++++++++++++++++ include/pmic.h | 60 +++++++++++ 7 files changed, 407 insertions(+), 0 deletions(-) create mode 100644 drivers/misc/pmic_core.c create mode 100644 include/max8998_pmic.h create mode 100644 include/pmic.h -- 1.7.2.3