From: Grazvydas Ignotas Date: Tue, 28 Sep 2010 13:22:19 +0000 (+0300) Subject: mfd: Fix TWL4030 COR bit polarity for BCI SIH block X-Git-Tag: v2.6.37-rc1~52^2~21 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=8e52e279b241d3a22d52c10a5f934db18b7d0a1b;p=~shefty%2Frdma-dev.git mfd: Fix TWL4030 COR bit polarity for BCI SIH block The chip TRM documentation contradicts itself about this bit, page 174 of swcu050e says bit should be 0 for clear-on-read behavior, while page 487 says it should be 1. Testing shows it should be 1, so set the .set_cor flag accordingly. This is needed for upcoming BCI charging driver to function. Signed-off-by: Grazvydas Ignotas Acked-by: Tony Lindgren Signed-off-by: Samuel Ortiz --- diff --git a/drivers/mfd/twl4030-irq.c b/drivers/mfd/twl4030-irq.c index b9fda7018ce..381ab26e92a 100644 --- a/drivers/mfd/twl4030-irq.c +++ b/drivers/mfd/twl4030-irq.c @@ -144,6 +144,7 @@ static const struct sih sih_modules_twl4030[6] = { .name = "bci", .module = TWL4030_MODULE_INTERRUPTS, .control_offset = TWL4030_INTERRUPTS_BCISIHCTRL, + .set_cor = true, .bits = 12, .bytes_ixr = 2, .edr_offset = TWL4030_INTERRUPTS_BCIEDR1, @@ -408,7 +409,7 @@ static int twl4030_init_sih_modules(unsigned line) * set Clear-On-Read (COR) bit. * * NOTE that sometimes COR polarity is documented as being - * inverted: for MADC and BCI, COR=1 means "clear on write". + * inverted: for MADC, COR=1 means "clear on write". * And for PWR_INT it's not documented... */ if (sih->set_cor) {