mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 17:25:38 +00:00
Pin control fixes for the v6.11 series:
- One Intel patch that I mistakedly merged into for-next despite it belongs in fixes: add Arrow Lake-H/U ACPI ID so this Arrow Lake chip probes. - One fix making the CY895x0 reg cache work, which is good because it makes the device work too. -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmblfkEACgkQQRCzN7AZ XXPItw/+MeHzTyU2FPuiqspNiBlkBDpClAMcoBLiFDJdPGkbw8pZUVMSRrxOy5pe tR8hNDtrLFZkCTIikXfMjOGhQ6uRc/BbRg/+AFCSXZyNfLQqjmTrk7kx89mqIy+R +Wdj+TDTrXCQHVKzvdo6iB9fw5Gg02/MMMIMdFpx9M+OQXILsyyQCPaHn3RWZaCR 7TLVnPrqLuA1KZQXLDXj/Bk0yFpiQWD8KxlHNLcrHqoLxtfmDyva7J0zJRUQeLcK aaPsVc4IlUgO4JIX42a+8hrQX+QaYAbY5ekOsVpGogQQ/yepseNmpFNhN96j+GGQ 6e541DnY0oaM2GmxbllsevIa8MY7Zlue5ehSEvSGoaYOrqvaruZedyURFQHRaceq Jz86yQxDMMxbZ3S4Mn+ED1L8eXQlJAI6ylWcYDx/LWDcyblNWQCID1cNgIMoohFm 12qC7X4joP4eLWBGCNBQab0ZPOcAsrLUgCBFD/3/LCL4tfA9Cvudp6j5TyQXmTNC LUPhw9mFk1Eywt9aiHEqOK9V1JZW7ovXdUUuVHNCn6LslZ1vtdNKlIxScPDp9Js5 iILAlt4EQ34uXsDi4s6LyKF/9W+imRM8mVEdMa5cNIizk8Xn/VDo7tM6J6Zz0CIu tUBKZBhbmqoZldcaWco+aBQ1nwYGBSgu4W7JQZrtdXlFh5lQ2dU= =USa2 -----END PGP SIGNATURE----- Merge tag 'pinctrl-v6.11-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control fixes from Linus Walleij: - One Intel patch that I mistakenly merged into for-next despite it belonging in fixes: add Arrow Lake-H/U ACPI ID so this Arrow Lake chip probes. - One fix making the CY895x0 reg cache work, which is good because it makes the device work too. * tag 'pinctrl-v6.11-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: pinctrl-cy8c95x0: Fix regcache pinctrl: meteorlake: Add Arrow Lake-H/U ACPI ID
This commit is contained in:
commit
0babf68378
@ -584,6 +584,7 @@ static const struct intel_pinctrl_soc_data mtls_soc_data = {
|
||||
};
|
||||
|
||||
static const struct acpi_device_id mtl_pinctrl_acpi_match[] = {
|
||||
{ "INTC105E", (kernel_ulong_t)&mtlp_soc_data },
|
||||
{ "INTC1083", (kernel_ulong_t)&mtlp_soc_data },
|
||||
{ "INTC1082", (kernel_ulong_t)&mtls_soc_data },
|
||||
{ }
|
||||
|
@ -62,11 +62,11 @@
|
||||
#define MAX_BANK 8
|
||||
#define BANK_SZ 8
|
||||
#define MAX_LINE (MAX_BANK * BANK_SZ)
|
||||
#define MUXED_STRIDE (CY8C95X0_DRV_HIZ - CY8C95X0_INTMASK)
|
||||
#define MUXED_STRIDE 16
|
||||
#define CY8C95X0_GPIO_MASK GENMASK(7, 0)
|
||||
#define CY8C95X0_VIRTUAL (CY8C95X0_COMMAND + 1)
|
||||
#define CY8C95X0_VIRTUAL 0x40
|
||||
#define CY8C95X0_MUX_REGMAP_TO_OFFSET(x, p) \
|
||||
(CY8C95X0_VIRTUAL + (x) - CY8C95X0_INTMASK + (p) * MUXED_STRIDE)
|
||||
(CY8C95X0_VIRTUAL + (x) - CY8C95X0_PORTSEL + (p) * MUXED_STRIDE)
|
||||
|
||||
static const struct i2c_device_id cy8c95x0_id[] = {
|
||||
{ "cy8c9520", 20, },
|
||||
@ -329,7 +329,11 @@ static int cypress_get_pin_mask(struct cy8c95x0_pinctrl *chip, unsigned int pin)
|
||||
|
||||
static bool cy8c95x0_readable_register(struct device *dev, unsigned int reg)
|
||||
{
|
||||
if (reg >= CY8C95X0_VIRTUAL)
|
||||
/*
|
||||
* Only 12 registers are present per port (see Table 6 in the
|
||||
* datasheet).
|
||||
*/
|
||||
if (reg >= CY8C95X0_VIRTUAL && (reg % MUXED_STRIDE) < 12)
|
||||
return true;
|
||||
|
||||
switch (reg) {
|
||||
@ -444,7 +448,7 @@ static const struct regmap_range_cfg cy8c95x0_ranges[] = {
|
||||
.selector_reg = CY8C95X0_PORTSEL,
|
||||
.selector_mask = 0x07,
|
||||
.selector_shift = 0x0,
|
||||
.window_start = CY8C95X0_INTMASK,
|
||||
.window_start = CY8C95X0_PORTSEL,
|
||||
.window_len = MUXED_STRIDE,
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user