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: ti-ads7950: remove chip_info[]

Remove the chip_info[] array and related enum used for looking up chip-
specific information. Instead, use individual structs directly in the
module device tables.

Also update to use spi_get_device_match_data() in case the devicetree
table is ever used instead of the SPI device ID table.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

David Lechner and committed by
Jonathan Cameron
ff0843ce c48012d5

+83 -89
+83 -89
drivers/iio/adc/ti-ads7950.c
··· 118 118 unsigned int num_channels; 119 119 }; 120 120 121 - enum ti_ads7950_id { 122 - TI_ADS7950, 123 - TI_ADS7951, 124 - TI_ADS7952, 125 - TI_ADS7953, 126 - TI_ADS7954, 127 - TI_ADS7955, 128 - TI_ADS7956, 129 - TI_ADS7957, 130 - TI_ADS7958, 131 - TI_ADS7959, 132 - TI_ADS7960, 133 - TI_ADS7961, 134 - }; 135 - 136 121 #define TI_ADS7950_V_CHAN(index, bits) \ 137 122 { \ 138 123 .type = IIO_VOLTAGE, \ ··· 210 225 static DECLARE_TI_ADS7950_12_CHANNELS(ti_ads7960, 8); 211 226 static DECLARE_TI_ADS7950_16_CHANNELS(ti_ads7961, 8); 212 227 213 - static const struct ti_ads7950_chip_info ti_ads7950_chip_info[] = { 214 - [TI_ADS7950] = { 215 - .channels = ti_ads7950_channels, 216 - .num_channels = ARRAY_SIZE(ti_ads7950_channels), 217 - }, 218 - [TI_ADS7951] = { 219 - .channels = ti_ads7951_channels, 220 - .num_channels = ARRAY_SIZE(ti_ads7951_channels), 221 - }, 222 - [TI_ADS7952] = { 223 - .channels = ti_ads7952_channels, 224 - .num_channels = ARRAY_SIZE(ti_ads7952_channels), 225 - }, 226 - [TI_ADS7953] = { 227 - .channels = ti_ads7953_channels, 228 - .num_channels = ARRAY_SIZE(ti_ads7953_channels), 229 - }, 230 - [TI_ADS7954] = { 231 - .channels = ti_ads7954_channels, 232 - .num_channels = ARRAY_SIZE(ti_ads7954_channels), 233 - }, 234 - [TI_ADS7955] = { 235 - .channels = ti_ads7955_channels, 236 - .num_channels = ARRAY_SIZE(ti_ads7955_channels), 237 - }, 238 - [TI_ADS7956] = { 239 - .channels = ti_ads7956_channels, 240 - .num_channels = ARRAY_SIZE(ti_ads7956_channels), 241 - }, 242 - [TI_ADS7957] = { 243 - .channels = ti_ads7957_channels, 244 - .num_channels = ARRAY_SIZE(ti_ads7957_channels), 245 - }, 246 - [TI_ADS7958] = { 247 - .channels = ti_ads7958_channels, 248 - .num_channels = ARRAY_SIZE(ti_ads7958_channels), 249 - }, 250 - [TI_ADS7959] = { 251 - .channels = ti_ads7959_channels, 252 - .num_channels = ARRAY_SIZE(ti_ads7959_channels), 253 - }, 254 - [TI_ADS7960] = { 255 - .channels = ti_ads7960_channels, 256 - .num_channels = ARRAY_SIZE(ti_ads7960_channels), 257 - }, 258 - [TI_ADS7961] = { 259 - .channels = ti_ads7961_channels, 260 - .num_channels = ARRAY_SIZE(ti_ads7961_channels), 261 - }, 228 + static const struct ti_ads7950_chip_info ti_ads7950_chip_info = { 229 + .channels = ti_ads7950_channels, 230 + .num_channels = ARRAY_SIZE(ti_ads7950_channels), 231 + }; 232 + 233 + static const struct ti_ads7950_chip_info ti_ads7951_chip_info = { 234 + .channels = ti_ads7951_channels, 235 + .num_channels = ARRAY_SIZE(ti_ads7951_channels), 236 + }; 237 + 238 + static const struct ti_ads7950_chip_info ti_ads7952_chip_info = { 239 + .channels = ti_ads7952_channels, 240 + .num_channels = ARRAY_SIZE(ti_ads7952_channels), 241 + }; 242 + 243 + static const struct ti_ads7950_chip_info ti_ads7953_chip_info = { 244 + .channels = ti_ads7953_channels, 245 + .num_channels = ARRAY_SIZE(ti_ads7953_channels), 246 + }; 247 + 248 + static const struct ti_ads7950_chip_info ti_ads7954_chip_info = { 249 + .channels = ti_ads7954_channels, 250 + .num_channels = ARRAY_SIZE(ti_ads7954_channels), 251 + }; 252 + 253 + static const struct ti_ads7950_chip_info ti_ads7955_chip_info = { 254 + .channels = ti_ads7955_channels, 255 + .num_channels = ARRAY_SIZE(ti_ads7955_channels), 256 + }; 257 + 258 + static const struct ti_ads7950_chip_info ti_ads7956_chip_info = { 259 + .channels = ti_ads7956_channels, 260 + .num_channels = ARRAY_SIZE(ti_ads7956_channels), 261 + }; 262 + 263 + static const struct ti_ads7950_chip_info ti_ads7957_chip_info = { 264 + .channels = ti_ads7957_channels, 265 + .num_channels = ARRAY_SIZE(ti_ads7957_channels), 266 + }; 267 + 268 + static const struct ti_ads7950_chip_info ti_ads7958_chip_info = { 269 + .channels = ti_ads7958_channels, 270 + .num_channels = ARRAY_SIZE(ti_ads7958_channels), 271 + }; 272 + 273 + static const struct ti_ads7950_chip_info ti_ads7959_chip_info = { 274 + .channels = ti_ads7959_channels, 275 + .num_channels = ARRAY_SIZE(ti_ads7959_channels), 276 + }; 277 + 278 + static const struct ti_ads7950_chip_info ti_ads7960_chip_info = { 279 + .channels = ti_ads7960_channels, 280 + .num_channels = ARRAY_SIZE(ti_ads7960_channels), 281 + }; 282 + 283 + static const struct ti_ads7950_chip_info ti_ads7961_chip_info = { 284 + .channels = ti_ads7961_channels, 285 + .num_channels = ARRAY_SIZE(ti_ads7961_channels), 262 286 }; 263 287 264 288 /* ··· 555 561 556 562 st->spi = spi; 557 563 558 - info = &ti_ads7950_chip_info[spi_get_device_id(spi)->driver_data]; 564 + info = spi_get_device_match_data(spi); 559 565 560 566 indio_dev->name = spi_get_device_id(spi)->name; 561 567 indio_dev->modes = INDIO_DIRECT_MODE; ··· 677 683 } 678 684 679 685 static const struct spi_device_id ti_ads7950_id[] = { 680 - { "ads7950", TI_ADS7950 }, 681 - { "ads7951", TI_ADS7951 }, 682 - { "ads7952", TI_ADS7952 }, 683 - { "ads7953", TI_ADS7953 }, 684 - { "ads7954", TI_ADS7954 }, 685 - { "ads7955", TI_ADS7955 }, 686 - { "ads7956", TI_ADS7956 }, 687 - { "ads7957", TI_ADS7957 }, 688 - { "ads7958", TI_ADS7958 }, 689 - { "ads7959", TI_ADS7959 }, 690 - { "ads7960", TI_ADS7960 }, 691 - { "ads7961", TI_ADS7961 }, 686 + { "ads7950", (kernel_ulong_t)&ti_ads7950_chip_info }, 687 + { "ads7951", (kernel_ulong_t)&ti_ads7951_chip_info }, 688 + { "ads7952", (kernel_ulong_t)&ti_ads7952_chip_info }, 689 + { "ads7953", (kernel_ulong_t)&ti_ads7953_chip_info }, 690 + { "ads7954", (kernel_ulong_t)&ti_ads7954_chip_info }, 691 + { "ads7955", (kernel_ulong_t)&ti_ads7955_chip_info }, 692 + { "ads7956", (kernel_ulong_t)&ti_ads7956_chip_info }, 693 + { "ads7957", (kernel_ulong_t)&ti_ads7957_chip_info }, 694 + { "ads7958", (kernel_ulong_t)&ti_ads7958_chip_info }, 695 + { "ads7959", (kernel_ulong_t)&ti_ads7959_chip_info }, 696 + { "ads7960", (kernel_ulong_t)&ti_ads7960_chip_info }, 697 + { "ads7961", (kernel_ulong_t)&ti_ads7961_chip_info }, 692 698 { } 693 699 }; 694 700 MODULE_DEVICE_TABLE(spi, ti_ads7950_id); 695 701 696 702 static const struct of_device_id ads7950_of_table[] = { 697 - { .compatible = "ti,ads7950", .data = &ti_ads7950_chip_info[TI_ADS7950] }, 698 - { .compatible = "ti,ads7951", .data = &ti_ads7950_chip_info[TI_ADS7951] }, 699 - { .compatible = "ti,ads7952", .data = &ti_ads7950_chip_info[TI_ADS7952] }, 700 - { .compatible = "ti,ads7953", .data = &ti_ads7950_chip_info[TI_ADS7953] }, 701 - { .compatible = "ti,ads7954", .data = &ti_ads7950_chip_info[TI_ADS7954] }, 702 - { .compatible = "ti,ads7955", .data = &ti_ads7950_chip_info[TI_ADS7955] }, 703 - { .compatible = "ti,ads7956", .data = &ti_ads7950_chip_info[TI_ADS7956] }, 704 - { .compatible = "ti,ads7957", .data = &ti_ads7950_chip_info[TI_ADS7957] }, 705 - { .compatible = "ti,ads7958", .data = &ti_ads7950_chip_info[TI_ADS7958] }, 706 - { .compatible = "ti,ads7959", .data = &ti_ads7950_chip_info[TI_ADS7959] }, 707 - { .compatible = "ti,ads7960", .data = &ti_ads7950_chip_info[TI_ADS7960] }, 708 - { .compatible = "ti,ads7961", .data = &ti_ads7950_chip_info[TI_ADS7961] }, 703 + { .compatible = "ti,ads7950", .data = &ti_ads7950_chip_info }, 704 + { .compatible = "ti,ads7951", .data = &ti_ads7951_chip_info }, 705 + { .compatible = "ti,ads7952", .data = &ti_ads7952_chip_info }, 706 + { .compatible = "ti,ads7953", .data = &ti_ads7953_chip_info }, 707 + { .compatible = "ti,ads7954", .data = &ti_ads7954_chip_info }, 708 + { .compatible = "ti,ads7955", .data = &ti_ads7955_chip_info }, 709 + { .compatible = "ti,ads7956", .data = &ti_ads7956_chip_info }, 710 + { .compatible = "ti,ads7957", .data = &ti_ads7957_chip_info }, 711 + { .compatible = "ti,ads7958", .data = &ti_ads7958_chip_info }, 712 + { .compatible = "ti,ads7959", .data = &ti_ads7959_chip_info }, 713 + { .compatible = "ti,ads7960", .data = &ti_ads7960_chip_info }, 714 + { .compatible = "ti,ads7961", .data = &ti_ads7961_chip_info }, 709 715 { } 710 716 }; 711 717 MODULE_DEVICE_TABLE(of, ads7950_of_table);