Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

iio: adc: exynos_adc: Drop S3C2410 support

Samsung S3C24xx family of SoCs was removed from the Linux kernel in the
commit 61b7f8920b17 ("ARM: s3c: remove all s3c24xx support"), in January
2023. There are no in-kernel users of its compatibles.

Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250830-s3c-cleanup-adc-v2-1-4f8299343d32@linaro.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Krzysztof Kozlowski and committed by
Jonathan Cameron
117b6c08 16647eff

+1 -74
+1 -74
drivers/iio/adc/exynos_adc.c
··· 44 44 #define ADC_V1_MUX(x) ((x) + 0x1c) 45 45 #define ADC_V1_CLRINTPNDNUP(x) ((x) + 0x20) 46 46 47 - /* S3C2410 ADC registers definitions */ 48 - #define ADC_S3C2410_MUX(x) ((x) + 0x18) 49 - 50 47 /* Future ADC_V2 registers definitions */ 51 48 #define ADC_V2_CON1(x) ((x) + 0x00) 52 49 #define ADC_V2_CON2(x) ((x) + 0x04) ··· 58 61 #define ADC_V1_CON_PRSCLV(x) (((x) & 0xFF) << 6) 59 62 #define ADC_V1_CON_STANDBY (1u << 2) 60 63 61 - /* Bit definitions for S3C2410 ADC */ 64 + /* Bit definitions for S3C2410 / S3C6410 ADC */ 62 65 #define ADC_S3C2410_CON_SELMUX(x) (((x) & 7) << 3) 63 - #define ADC_S3C2410_DATX_MASK 0x3FF 64 - #define ADC_S3C2416_CON_RES_SEL (1u << 3) 65 66 66 67 /* touch screen always uses channel 0 */ 67 68 #define ADC_S3C2410_MUX_TS 0 ··· 302 307 .start_conv = exynos_adc_v1_start_conv, 303 308 }; 304 309 305 - static void exynos_adc_s3c2416_start_conv(struct exynos_adc *info, 306 - unsigned long addr) 307 - { 308 - u32 con1; 309 - 310 - /* Enable 12 bit ADC resolution */ 311 - con1 = readl(ADC_V1_CON(info->regs)); 312 - con1 |= ADC_S3C2416_CON_RES_SEL; 313 - writel(con1, ADC_V1_CON(info->regs)); 314 - 315 - /* Select channel for S3C2416 */ 316 - writel(addr, ADC_S3C2410_MUX(info->regs)); 317 - 318 - con1 = readl(ADC_V1_CON(info->regs)); 319 - writel(con1 | ADC_CON_EN_START, ADC_V1_CON(info->regs)); 320 - } 321 - 322 - static struct exynos_adc_data const exynos_adc_s3c2416_data = { 323 - .num_channels = MAX_ADC_V1_CHANNELS, 324 - .mask = ADC_DATX_MASK, /* 12 bit ADC resolution */ 325 - 326 - .init_hw = exynos_adc_v1_init_hw, 327 - .exit_hw = exynos_adc_v1_exit_hw, 328 - .start_conv = exynos_adc_s3c2416_start_conv, 329 - }; 330 - 331 - static void exynos_adc_s3c2443_start_conv(struct exynos_adc *info, 332 - unsigned long addr) 333 - { 334 - u32 con1; 335 - 336 - /* Select channel for S3C2433 */ 337 - writel(addr, ADC_S3C2410_MUX(info->regs)); 338 - 339 - con1 = readl(ADC_V1_CON(info->regs)); 340 - writel(con1 | ADC_CON_EN_START, ADC_V1_CON(info->regs)); 341 - } 342 - 343 - static struct exynos_adc_data const exynos_adc_s3c2443_data = { 344 - .num_channels = MAX_ADC_V1_CHANNELS, 345 - .mask = ADC_S3C2410_DATX_MASK, /* 10 bit ADC resolution */ 346 - 347 - .init_hw = exynos_adc_v1_init_hw, 348 - .exit_hw = exynos_adc_v1_exit_hw, 349 - .start_conv = exynos_adc_s3c2443_start_conv, 350 - }; 351 - 352 310 static void exynos_adc_s3c64xx_start_conv(struct exynos_adc *info, 353 311 unsigned long addr) 354 312 { ··· 312 364 con1 |= ADC_S3C2410_CON_SELMUX(addr); 313 365 writel(con1 | ADC_CON_EN_START, ADC_V1_CON(info->regs)); 314 366 } 315 - 316 - static struct exynos_adc_data const exynos_adc_s3c24xx_data = { 317 - .num_channels = MAX_ADC_V1_CHANNELS, 318 - .mask = ADC_S3C2410_DATX_MASK, /* 10 bit ADC resolution */ 319 - 320 - .init_hw = exynos_adc_v1_init_hw, 321 - .exit_hw = exynos_adc_v1_exit_hw, 322 - .start_conv = exynos_adc_s3c64xx_start_conv, 323 - }; 324 367 325 368 static struct exynos_adc_data const exynos_adc_s3c64xx_data = { 326 369 .num_channels = MAX_ADC_V1_CHANNELS, ··· 425 486 426 487 static const struct of_device_id exynos_adc_match[] = { 427 488 { 428 - .compatible = "samsung,s3c2410-adc", 429 - .data = &exynos_adc_s3c24xx_data, 430 - }, { 431 - .compatible = "samsung,s3c2416-adc", 432 - .data = &exynos_adc_s3c2416_data, 433 - }, { 434 - .compatible = "samsung,s3c2440-adc", 435 - .data = &exynos_adc_s3c24xx_data, 436 - }, { 437 - .compatible = "samsung,s3c2443-adc", 438 - .data = &exynos_adc_s3c2443_data, 439 - }, { 440 489 .compatible = "samsung,s3c6410-adc", 441 490 .data = &exynos_adc_s3c64xx_data, 442 491 }, {