ok, I will remove it.From: Micky Ching<micky_ching@xxxxxxxxxxxxxx>I have never signed this patch off.
Add card reader rtl8042, rtl8402 is much like rtl8411, so just add it to
rtl8411.c
Signed-off-by: Lee Jones<lee.jones@xxxxxxxxxx>
These tags actually 'mean' something. Please don't apply them willy-nilly!
ok, I will add some member to rtsx_pcr to merge the function.Signed-off-by: Micky Ching<micky_ching@xxxxxxxxxxxxxx>I opposed this on last submission.
---
drivers/mfd/rtl8411.c | 33 +++++++++++++++++++++++++++++++++
drivers/mfd/rtsx_pcr.c | 5 +++++
drivers/mfd/rtsx_pcr.h | 1 +
3 files changed, 39 insertions(+)
diff --git a/drivers/mfd/rtl8411.c b/drivers/mfd/rtl8411.c
index c9eab9d..4b377e3 100644
--- a/drivers/mfd/rtl8411.c
+++ b/drivers/mfd/rtl8411.c
@@ -216,6 +216,31 @@ static int rtl8411_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage)
return rtsx_pci_write_register(pcr, LDO_CTL, mask, val);
}
+static int rtl8402_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage)
+{
+ u8 mask, val;
+ int err;
+
+ mask = (BPP_REG_TUNED18 << BPP_TUNED18_SHIFT_8402) | BPP_PAD_MASK;
+ if (voltage == OUTPUT_3V3) {
+ err = rtsx_pci_write_register(pcr,
+ SD30_DRIVE_SEL, 0x07, pcr->sd30_drive_sel_3v3);
+ if (err < 0)
+ return err;
+ val = (BPP_ASIC_3V3 << BPP_TUNED18_SHIFT_8402) | BPP_PAD_3V3;
+ } else if (voltage == OUTPUT_1V8) {
+ err = rtsx_pci_write_register(pcr,
+ SD30_DRIVE_SEL, 0x07, pcr->sd30_drive_sel_1v8);
+ if (err < 0)
+ return err;
+ val = (BPP_ASIC_2V0 << BPP_TUNED18_SHIFT_8402) | BPP_PAD_1V8;
+ } else {
+ return -EINVAL;
+ }
+
+ return rtsx_pci_write_register(pcr, LDO_CTL, mask, val);
+}
+
Please find a better way to do it.
Ideally, I'd like to see one function for this kind of thing. The
information required to ensure this is carried out correctly on each
differing platform can be passed in via a struct instead.
<snip>