2024-05-31 18:32:46

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v2 1/6] ASoC: codecs: Remove unused of_gpio.h

of_gpio.h is deprecated and subject to remove. The drivers in question
don't use it, simply remove the unused header.

Reviewed-by: Kuninori Morimoto <[email protected]>
Reviewed-by: Charles Keepax <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
---
sound/soc/codecs/ak4118.c | 1 -
sound/soc/codecs/ak4458.c | 1 -
sound/soc/codecs/aw88399.c | 1 -
sound/soc/codecs/cs53l30.c | 1 -
sound/soc/codecs/max98390.c | 1 -
sound/soc/codecs/pcm3168a.c | 1 -
sound/soc/codecs/rk817_codec.c | 1 -
sound/soc/codecs/tas2552.c | 1 -
sound/soc/codecs/tas2764.c | 1 -
sound/soc/codecs/tas2770.c | 1 -
sound/soc/codecs/tas2780.c | 1 -
sound/soc/codecs/tlv320adc3xxx.c | 1 -
sound/soc/codecs/tlv320adcx140.c | 1 -
sound/soc/codecs/tlv320aic31xx.c | 1 -
sound/soc/codecs/ts3a227e.c | 1 -
sound/soc/codecs/wsa883x.c | 1 -
16 files changed, 16 deletions(-)

diff --git a/sound/soc/codecs/ak4118.c b/sound/soc/codecs/ak4118.c
index 9a43235e6a11..23e868e4e3fb 100644
--- a/sound/soc/codecs/ak4118.c
+++ b/sound/soc/codecs/ak4118.c
@@ -9,7 +9,6 @@
#include <linux/gpio/consumer.h>
#include <linux/module.h>
#include <linux/of.h>
-#include <linux/of_gpio.h>
#include <linux/regmap.h>
#include <linux/slab.h>

diff --git a/sound/soc/codecs/ak4458.c b/sound/soc/codecs/ak4458.c
index 73cf482f104f..32cb802ad635 100644
--- a/sound/soc/codecs/ak4458.c
+++ b/sound/soc/codecs/ak4458.c
@@ -10,7 +10,6 @@
#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/of.h>
-#include <linux/of_gpio.h>
#include <linux/pm_runtime.h>
#include <linux/regulator/consumer.h>
#include <linux/reset.h>
diff --git a/sound/soc/codecs/aw88399.c b/sound/soc/codecs/aw88399.c
index 9fcb805bf971..23e50d73b4c4 100644
--- a/sound/soc/codecs/aw88399.c
+++ b/sound/soc/codecs/aw88399.c
@@ -10,7 +10,6 @@
#include <linux/crc32.h>
#include <linux/i2c.h>
#include <linux/firmware.h>
-#include <linux/of_gpio.h>
#include <linux/regmap.h>
#include <sound/soc.h>
#include "aw88399.h"
diff --git a/sound/soc/codecs/cs53l30.c b/sound/soc/codecs/cs53l30.c
index c0893146423b..2ee13d885fdc 100644
--- a/sound/soc/codecs/cs53l30.c
+++ b/sound/soc/codecs/cs53l30.c
@@ -12,7 +12,6 @@
#include <linux/delay.h>
#include <linux/i2c.h>
#include <linux/module.h>
-#include <linux/of_gpio.h>
#include <linux/gpio/consumer.h>
#include <linux/regulator/consumer.h>
#include <sound/pcm_params.h>
diff --git a/sound/soc/codecs/max98390.c b/sound/soc/codecs/max98390.c
index 57fa2db1e148..1bae253618fd 100644
--- a/sound/soc/codecs/max98390.c
+++ b/sound/soc/codecs/max98390.c
@@ -13,7 +13,6 @@
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/module.h>
-#include <linux/of_gpio.h>
#include <linux/regmap.h>
#include <linux/slab.h>
#include <linux/time.h>
diff --git a/sound/soc/codecs/pcm3168a.c b/sound/soc/codecs/pcm3168a.c
index 9d6431338fb7..3c0e0fdbfc5c 100644
--- a/sound/soc/codecs/pcm3168a.c
+++ b/sound/soc/codecs/pcm3168a.c
@@ -11,7 +11,6 @@
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/module.h>
-#include <linux/of_gpio.h>
#include <linux/pm_runtime.h>
#include <linux/regulator/consumer.h>

diff --git a/sound/soc/codecs/rk817_codec.c b/sound/soc/codecs/rk817_codec.c
index d4da98469f8b..5fea600bc3a4 100644
--- a/sound/soc/codecs/rk817_codec.c
+++ b/sound/soc/codecs/rk817_codec.c
@@ -10,7 +10,6 @@
#include <linux/mfd/rk808.h>
#include <linux/module.h>
#include <linux/of.h>
-#include <linux/of_gpio.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <sound/core.h>
diff --git a/sound/soc/codecs/tas2552.c b/sound/soc/codecs/tas2552.c
index a7ed59ec49a6..9e68afc09897 100644
--- a/sound/soc/codecs/tas2552.c
+++ b/sound/soc/codecs/tas2552.c
@@ -13,7 +13,6 @@
#include <linux/device.h>
#include <linux/i2c.h>
#include <linux/gpio.h>
-#include <linux/of_gpio.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/slab.h>
diff --git a/sound/soc/codecs/tas2764.c b/sound/soc/codecs/tas2764.c
index 1dc719d726ab..5eaddf07aadc 100644
--- a/sound/soc/codecs/tas2764.c
+++ b/sound/soc/codecs/tas2764.c
@@ -15,7 +15,6 @@
#include <linux/regulator/consumer.h>
#include <linux/regmap.h>
#include <linux/of.h>
-#include <linux/of_gpio.h>
#include <linux/slab.h>
#include <sound/soc.h>
#include <sound/pcm.h>
diff --git a/sound/soc/codecs/tas2770.c b/sound/soc/codecs/tas2770.c
index 67bc1c8b0131..5601fba17c96 100644
--- a/sound/soc/codecs/tas2770.c
+++ b/sound/soc/codecs/tas2770.c
@@ -20,7 +20,6 @@
#include <linux/firmware.h>
#include <linux/regmap.h>
#include <linux/of.h>
-#include <linux/of_gpio.h>
#include <linux/slab.h>
#include <sound/soc.h>
#include <sound/pcm.h>
diff --git a/sound/soc/codecs/tas2780.c b/sound/soc/codecs/tas2780.c
index a18ccf5fb7ad..6902bfef185b 100644
--- a/sound/soc/codecs/tas2780.c
+++ b/sound/soc/codecs/tas2780.c
@@ -11,7 +11,6 @@
#include <linux/gpio/consumer.h>
#include <linux/regmap.h>
#include <linux/of.h>
-#include <linux/of_gpio.h>
#include <sound/soc.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
diff --git a/sound/soc/codecs/tlv320adc3xxx.c b/sound/soc/codecs/tlv320adc3xxx.c
index e100cc9f5c19..eb180df9a72a 100644
--- a/sound/soc/codecs/tlv320adc3xxx.c
+++ b/sound/soc/codecs/tlv320adc3xxx.c
@@ -25,7 +25,6 @@
#include <linux/i2c.h>
#include <linux/platform_device.h>
#include <linux/cdev.h>
-#include <linux/of_gpio.h>
#include <linux/slab.h>
#include <sound/core.h>
#include <sound/pcm.h>
diff --git a/sound/soc/codecs/tlv320adcx140.c b/sound/soc/codecs/tlv320adcx140.c
index 41342b340680..d594bf166c0e 100644
--- a/sound/soc/codecs/tlv320adcx140.c
+++ b/sound/soc/codecs/tlv320adcx140.c
@@ -12,7 +12,6 @@
#include <linux/regulator/consumer.h>
#include <linux/acpi.h>
#include <linux/of.h>
-#include <linux/of_gpio.h>
#include <linux/slab.h>
#include <sound/core.h>
#include <sound/pcm.h>
diff --git a/sound/soc/codecs/tlv320aic31xx.c b/sound/soc/codecs/tlv320aic31xx.c
index 4d7c5a80c6ed..2f94cfda0e33 100644
--- a/sound/soc/codecs/tlv320aic31xx.c
+++ b/sound/soc/codecs/tlv320aic31xx.c
@@ -23,7 +23,6 @@
#include <linux/regulator/consumer.h>
#include <linux/acpi.h>
#include <linux/of.h>
-#include <linux/of_gpio.h>
#include <linux/slab.h>
#include <sound/core.h>
#include <sound/jack.h>
diff --git a/sound/soc/codecs/ts3a227e.c b/sound/soc/codecs/ts3a227e.c
index dbf448dd8864..b9eb59e3bfa0 100644
--- a/sound/soc/codecs/ts3a227e.c
+++ b/sound/soc/codecs/ts3a227e.c
@@ -10,7 +10,6 @@
#include <linux/init.h>
#include <linux/input.h>
#include <linux/module.h>
-#include <linux/of_gpio.h>
#include <linux/regmap.h>
#include <linux/acpi.h>

diff --git a/sound/soc/codecs/wsa883x.c b/sound/soc/codecs/wsa883x.c
index a2e86ef7d18f..8abce2160d65 100644
--- a/sound/soc/codecs/wsa883x.c
+++ b/sound/soc/codecs/wsa883x.c
@@ -9,7 +9,6 @@
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
-#include <linux/of_gpio.h>
#include <linux/pm_runtime.h>
#include <linux/printk.h>
#include <linux/regmap.h>
--
2.43.0.rc1.1336.g36b5255a03ac



2024-05-31 21:53:32

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH v2 1/6] ASoC: codecs: Remove unused of_gpio.h

Hi Andy,

kernel test robot noticed the following build errors:

[auto build test ERROR on broonie-sound/for-next]
[also build test ERROR on shawnguo/for-next rockchip/for-next linus/master v6.10-rc1 next-20240531]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/ASoC-codecs-Remove-unused-of_gpio-h/20240531-233513
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
patch link: https://lore.kernel.org/r/20240531153038.1590171-2-andriy.shevchenko%40linux.intel.com
patch subject: [PATCH v2 1/6] ASoC: codecs: Remove unused of_gpio.h
config: i386-buildonly-randconfig-006-20240601 (https://download.01.org/0day-ci/archive/20240601/[email protected]/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240601/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

>> sound/soc/codecs/aw88399.c:1791:3: error: call to undeclared function 'gpiod_set_value_cansleep'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
1791 | gpiod_set_value_cansleep(aw88399->reset_gpio, 1);
| ^
>> sound/soc/codecs/aw88399.c:1868:24: error: call to undeclared function 'devm_gpiod_get_optional'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
1868 | aw88399->reset_gpio = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_LOW);
| ^
sound/soc/codecs/aw88399.c:1868:24: note: did you mean 'devm_regulator_get_optional'?
include/linux/regulator/consumer.h:347:1: note: 'devm_regulator_get_optional' declared here
347 | devm_regulator_get_optional(struct device *dev, const char *id)
| ^
>> sound/soc/codecs/aw88399.c:1868:68: error: use of undeclared identifier 'GPIOD_OUT_LOW'
1868 | aw88399->reset_gpio = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_LOW);
| ^
3 errors generated.


vim +/gpiod_set_value_cansleep +1791 sound/soc/codecs/aw88399.c

8ade6cc7e26175 Weidong Wang 2023-10-25 1787
8ade6cc7e26175 Weidong Wang 2023-10-25 1788 static void aw88399_hw_reset(struct aw88399 *aw88399)
8ade6cc7e26175 Weidong Wang 2023-10-25 1789 {
8ade6cc7e26175 Weidong Wang 2023-10-25 1790 if (aw88399->reset_gpio) {
8ade6cc7e26175 Weidong Wang 2023-10-25 @1791 gpiod_set_value_cansleep(aw88399->reset_gpio, 1);
8ade6cc7e26175 Weidong Wang 2023-10-25 1792 usleep_range(AW88399_1000_US, AW88399_1000_US + 10);
8ade6cc7e26175 Weidong Wang 2023-10-25 1793 gpiod_set_value_cansleep(aw88399->reset_gpio, 0);
8ade6cc7e26175 Weidong Wang 2023-10-25 1794 usleep_range(AW88399_1000_US, AW88399_1000_US + 10);
8ade6cc7e26175 Weidong Wang 2023-10-25 1795 gpiod_set_value_cansleep(aw88399->reset_gpio, 1);
8ade6cc7e26175 Weidong Wang 2023-10-25 1796 usleep_range(AW88399_1000_US, AW88399_1000_US + 10);
8ade6cc7e26175 Weidong Wang 2023-10-25 1797 }
8ade6cc7e26175 Weidong Wang 2023-10-25 1798 }
8ade6cc7e26175 Weidong Wang 2023-10-25 1799
8ade6cc7e26175 Weidong Wang 2023-10-25 1800 static void aw88399_parse_channel_dt(struct aw_device *aw_dev)
8ade6cc7e26175 Weidong Wang 2023-10-25 1801 {
8ade6cc7e26175 Weidong Wang 2023-10-25 1802 struct device_node *np = aw_dev->dev->of_node;
8ade6cc7e26175 Weidong Wang 2023-10-25 1803 u32 channel_value;
8ade6cc7e26175 Weidong Wang 2023-10-25 1804
8ade6cc7e26175 Weidong Wang 2023-10-25 1805 of_property_read_u32(np, "awinic,audio-channel", &channel_value);
8ade6cc7e26175 Weidong Wang 2023-10-25 1806 aw_dev->channel = channel_value;
8ade6cc7e26175 Weidong Wang 2023-10-25 1807 }
8ade6cc7e26175 Weidong Wang 2023-10-25 1808
8ade6cc7e26175 Weidong Wang 2023-10-25 1809 static int aw88399_init(struct aw88399 *aw88399, struct i2c_client *i2c, struct regmap *regmap)
8ade6cc7e26175 Weidong Wang 2023-10-25 1810 {
8ade6cc7e26175 Weidong Wang 2023-10-25 1811 struct aw_device *aw_dev;
8ade6cc7e26175 Weidong Wang 2023-10-25 1812 unsigned int chip_id;
8ade6cc7e26175 Weidong Wang 2023-10-25 1813 int ret;
8ade6cc7e26175 Weidong Wang 2023-10-25 1814
8ade6cc7e26175 Weidong Wang 2023-10-25 1815 ret = regmap_read(regmap, AW88399_ID_REG, &chip_id);
8ade6cc7e26175 Weidong Wang 2023-10-25 1816 if (ret) {
8ade6cc7e26175 Weidong Wang 2023-10-25 1817 dev_err(&i2c->dev, "%s read chipid error. ret = %d", __func__, ret);
8ade6cc7e26175 Weidong Wang 2023-10-25 1818 return ret;
8ade6cc7e26175 Weidong Wang 2023-10-25 1819 }
8ade6cc7e26175 Weidong Wang 2023-10-25 1820 if (chip_id != AW88399_CHIP_ID) {
8ade6cc7e26175 Weidong Wang 2023-10-25 1821 dev_err(&i2c->dev, "unsupported device");
8ade6cc7e26175 Weidong Wang 2023-10-25 1822 return -ENXIO;
8ade6cc7e26175 Weidong Wang 2023-10-25 1823 }
8ade6cc7e26175 Weidong Wang 2023-10-25 1824 dev_dbg(&i2c->dev, "chip id = %x\n", chip_id);
8ade6cc7e26175 Weidong Wang 2023-10-25 1825
8ade6cc7e26175 Weidong Wang 2023-10-25 1826 aw_dev = devm_kzalloc(&i2c->dev, sizeof(*aw_dev), GFP_KERNEL);
8ade6cc7e26175 Weidong Wang 2023-10-25 1827 if (!aw_dev)
8ade6cc7e26175 Weidong Wang 2023-10-25 1828 return -ENOMEM;
8ade6cc7e26175 Weidong Wang 2023-10-25 1829 aw88399->aw_pa = aw_dev;
8ade6cc7e26175 Weidong Wang 2023-10-25 1830
8ade6cc7e26175 Weidong Wang 2023-10-25 1831 aw_dev->i2c = i2c;
8ade6cc7e26175 Weidong Wang 2023-10-25 1832 aw_dev->dev = &i2c->dev;
8ade6cc7e26175 Weidong Wang 2023-10-25 1833 aw_dev->regmap = regmap;
8ade6cc7e26175 Weidong Wang 2023-10-25 1834 mutex_init(&aw_dev->dsp_lock);
8ade6cc7e26175 Weidong Wang 2023-10-25 1835
8ade6cc7e26175 Weidong Wang 2023-10-25 1836 aw_dev->chip_id = chip_id;
8ade6cc7e26175 Weidong Wang 2023-10-25 1837 aw_dev->acf = NULL;
8ade6cc7e26175 Weidong Wang 2023-10-25 1838 aw_dev->prof_info.prof_desc = NULL;
8ade6cc7e26175 Weidong Wang 2023-10-25 1839 aw_dev->prof_info.count = 0;
8ade6cc7e26175 Weidong Wang 2023-10-25 1840 aw_dev->prof_info.prof_type = AW88395_DEV_NONE_TYPE_ID;
8ade6cc7e26175 Weidong Wang 2023-10-25 1841 aw_dev->channel = AW88399_DEV_DEFAULT_CH;
8ade6cc7e26175 Weidong Wang 2023-10-25 1842 aw_dev->fw_status = AW88399_DEV_FW_FAILED;
8ade6cc7e26175 Weidong Wang 2023-10-25 1843
8ade6cc7e26175 Weidong Wang 2023-10-25 1844 aw_dev->fade_step = AW88399_VOLUME_STEP_DB;
8ade6cc7e26175 Weidong Wang 2023-10-25 1845 aw_dev->volume_desc.ctl_volume = AW88399_VOL_DEFAULT_VALUE;
8ade6cc7e26175 Weidong Wang 2023-10-25 1846
8ade6cc7e26175 Weidong Wang 2023-10-25 1847 aw88399_parse_channel_dt(aw_dev);
8ade6cc7e26175 Weidong Wang 2023-10-25 1848
8ade6cc7e26175 Weidong Wang 2023-10-25 1849 return 0;
8ade6cc7e26175 Weidong Wang 2023-10-25 1850 }
8ade6cc7e26175 Weidong Wang 2023-10-25 1851
8ade6cc7e26175 Weidong Wang 2023-10-25 1852 static int aw88399_i2c_probe(struct i2c_client *i2c)
8ade6cc7e26175 Weidong Wang 2023-10-25 1853 {
8ade6cc7e26175 Weidong Wang 2023-10-25 1854 struct aw88399 *aw88399;
8ade6cc7e26175 Weidong Wang 2023-10-25 1855 int ret;
8ade6cc7e26175 Weidong Wang 2023-10-25 1856
8ade6cc7e26175 Weidong Wang 2023-10-25 1857 if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C))
8ade6cc7e26175 Weidong Wang 2023-10-25 1858 return dev_err_probe(&i2c->dev, -ENXIO, "check_functionality failed");
8ade6cc7e26175 Weidong Wang 2023-10-25 1859
8ade6cc7e26175 Weidong Wang 2023-10-25 1860 aw88399 = devm_kzalloc(&i2c->dev, sizeof(*aw88399), GFP_KERNEL);
8ade6cc7e26175 Weidong Wang 2023-10-25 1861 if (!aw88399)
8ade6cc7e26175 Weidong Wang 2023-10-25 1862 return -ENOMEM;
8ade6cc7e26175 Weidong Wang 2023-10-25 1863
8ade6cc7e26175 Weidong Wang 2023-10-25 1864 mutex_init(&aw88399->lock);
8ade6cc7e26175 Weidong Wang 2023-10-25 1865
8ade6cc7e26175 Weidong Wang 2023-10-25 1866 i2c_set_clientdata(i2c, aw88399);
8ade6cc7e26175 Weidong Wang 2023-10-25 1867
8ade6cc7e26175 Weidong Wang 2023-10-25 @1868 aw88399->reset_gpio = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_LOW);
8ade6cc7e26175 Weidong Wang 2023-10-25 1869 if (IS_ERR(aw88399->reset_gpio))
8ade6cc7e26175 Weidong Wang 2023-10-25 1870 return dev_err_probe(&i2c->dev, PTR_ERR(aw88399->reset_gpio),
8ade6cc7e26175 Weidong Wang 2023-10-25 1871 "reset gpio not defined\n");
8ade6cc7e26175 Weidong Wang 2023-10-25 1872 aw88399_hw_reset(aw88399);
8ade6cc7e26175 Weidong Wang 2023-10-25 1873
8ade6cc7e26175 Weidong Wang 2023-10-25 1874 aw88399->regmap = devm_regmap_init_i2c(i2c, &aw88399_remap_config);
8ade6cc7e26175 Weidong Wang 2023-10-25 1875 if (IS_ERR(aw88399->regmap))
8ade6cc7e26175 Weidong Wang 2023-10-25 1876 return dev_err_probe(&i2c->dev, PTR_ERR(aw88399->regmap),
8ade6cc7e26175 Weidong Wang 2023-10-25 1877 "failed to init regmap\n");
8ade6cc7e26175 Weidong Wang 2023-10-25 1878
8ade6cc7e26175 Weidong Wang 2023-10-25 1879 /* aw pa init */
8ade6cc7e26175 Weidong Wang 2023-10-25 1880 ret = aw88399_init(aw88399, i2c, aw88399->regmap);
8ade6cc7e26175 Weidong Wang 2023-10-25 1881 if (ret)
8ade6cc7e26175 Weidong Wang 2023-10-25 1882 return ret;
8ade6cc7e26175 Weidong Wang 2023-10-25 1883
8ade6cc7e26175 Weidong Wang 2023-10-25 1884 ret = devm_snd_soc_register_component(&i2c->dev,
8ade6cc7e26175 Weidong Wang 2023-10-25 1885 &soc_codec_dev_aw88399,
8ade6cc7e26175 Weidong Wang 2023-10-25 1886 aw88399_dai, ARRAY_SIZE(aw88399_dai));
8ade6cc7e26175 Weidong Wang 2023-10-25 1887 if (ret)
8ade6cc7e26175 Weidong Wang 2023-10-25 1888 dev_err(&i2c->dev, "failed to register aw88399: %d", ret);
8ade6cc7e26175 Weidong Wang 2023-10-25 1889
8ade6cc7e26175 Weidong Wang 2023-10-25 1890 return ret;
8ade6cc7e26175 Weidong Wang 2023-10-25 1891 }
8ade6cc7e26175 Weidong Wang 2023-10-25 1892

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki