Re: [PATCH v2] mfd: rtsx: fix PM suspend for 5227 & 5249

From: Micky Ching
Date: Fri Oct 10 2014 - 21:07:33 EST



On 10/10/2014 06:21 PM, Lee Jones wrote:
On Fri, 10 Oct 2014, micky_ching@xxxxxxxxxxxxxx wrote:

From: Micky Ching <micky_ching@xxxxxxxxxxxxxx>

Fix rts5227&5249 failed send buffer cmd after suspend,
PM_CTRL3 should reset before send any buffer cmd after suspend.
Otherwise, buffer cmd will failed, this will lead resume fail.

Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx>
---
drivers/mfd/Makefile | 2 +-
drivers/mfd/rts5227.c | 6 ++++++
drivers/mfd/rts5249.c | 4 ++++
drivers/mfd/rtsx_gops.c | 37 +++++++++++++++++++++++++++++++++++++
drivers/mfd/rtsx_pcr.h | 3 +++
include/linux/mfd/rtsx_pci.h | 28 ++++++++++++++++++++++++++++
6 files changed, 79 insertions(+), 1 deletion(-)
create mode 100644 drivers/mfd/rtsx_gops.c
[...]

+static inline int rtsx_pci_update_cfg_byte(struct rtsx_pcr *pcr, int addr,
+ u8 mask, u8 append)
+{
+ int err;
+ u8 val;
+
+ err = pci_read_config_byte(pcr->pci, addr, &val);
+ if (err < 0)
+ return err;
+ return pci_write_config_byte(pcr->pci, addr, (val & mask) | append);
+}
+
Why is this in here? Why not put it in the generic ops file?
This function is a good interface, we will use it many times in the future.

generic ops file is only used to some operation can be used for different chip,
some special chip may replace generic ops by provide their own ops.
So generic ops file is just use to abstract the same code, not for good interface.



--
Best Regards,
micky.
--------------------
Realsil Microelectronics Inc. PCBU swlinux.
Tel:86-512-6258-8966 Ext: 5806

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