ASoC: rt286: Make RT286_SET_GPIO_* readable and writable
authorDavid Ward <david.ward@gatech.edu>
Sun, 18 Apr 2021 13:46:57 +0000 (09:46 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 22 May 2021 08:40:30 +0000 (10:40 +0200)
[ Upstream commit cd8499d5c03ba260e3191e90236d0e5f6b147563 ]

The GPIO configuration cannot be applied if the registers are inaccessible.
This prevented the headset mic from working on the Dell XPS 13 9343.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=114171
Signed-off-by: David Ward <david.ward@gatech.edu>
Link: https://lore.kernel.org/r/20210418134658.4333-5-david.ward@gatech.edu
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/codecs/rt286.c

index 4a0ab620983da746e64befbf06f9d48c33c1fd88..a41dd9d1eb829888bd2f28e9fa861167e9e97b87 100644 (file)
@@ -174,6 +174,9 @@ static bool rt286_readable_register(struct device *dev, unsigned int reg)
        case RT286_PROC_COEF:
        case RT286_SET_AMP_GAIN_ADC_IN1:
        case RT286_SET_AMP_GAIN_ADC_IN2:
+       case RT286_SET_GPIO_MASK:
+       case RT286_SET_GPIO_DIRECTION:
+       case RT286_SET_GPIO_DATA:
        case RT286_SET_POWER(RT286_DAC_OUT1):
        case RT286_SET_POWER(RT286_DAC_OUT2):
        case RT286_SET_POWER(RT286_ADC_IN1):