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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux