forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/drivers/iio/adc/mcp320x.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * Copyright (C) 2013 Oskar Andero <oskar.andero@gmail.com>
34 * Copyright (C) 2014 Rose Technology
....@@ -26,24 +27,21 @@
2627 * MCP3553
2728 *
2829 * Datasheet can be found here:
29
- * http://ww1.microchip.com/downloads/en/DeviceDoc/21293C.pdf mcp3001
30
- * http://ww1.microchip.com/downloads/en/DeviceDoc/21294E.pdf mcp3002
31
- * http://ww1.microchip.com/downloads/en/DeviceDoc/21295d.pdf mcp3004/08
30
+ * https://ww1.microchip.com/downloads/en/DeviceDoc/21293C.pdf mcp3001
31
+ * https://ww1.microchip.com/downloads/en/DeviceDoc/21294E.pdf mcp3002
32
+ * https://ww1.microchip.com/downloads/en/DeviceDoc/21295d.pdf mcp3004/08
3233 * http://ww1.microchip.com/downloads/en/DeviceDoc/21290D.pdf mcp3201
3334 * http://ww1.microchip.com/downloads/en/DeviceDoc/21034D.pdf mcp3202
3435 * http://ww1.microchip.com/downloads/en/DeviceDoc/21298c.pdf mcp3204/08
35
- * http://ww1.microchip.com/downloads/en/DeviceDoc/21700E.pdf mcp3301
36
+ * https://ww1.microchip.com/downloads/en/DeviceDoc/21700E.pdf mcp3301
3637 * http://ww1.microchip.com/downloads/en/DeviceDoc/21950D.pdf mcp3550/1/3
37
- *
38
- * This program is free software; you can redistribute it and/or modify
39
- * it under the terms of the GNU General Public License version 2 as
40
- * published by the Free Software Foundation.
4138 */
4239
4340 #include <linux/err.h>
4441 #include <linux/delay.h>
4542 #include <linux/spi/spi.h>
4643 #include <linux/module.h>
44
+#include <linux/mod_devicetable.h>
4745 #include <linux/iio/iio.h>
4846 #include <linux/regulator/consumer.h>
4947
....@@ -167,7 +165,7 @@
167165 case mcp3550_60:
168166 case mcp3551:
169167 case mcp3553: {
170
- u32 raw = be32_to_cpup((u32 *)adc->rx_buf);
168
+ u32 raw = be32_to_cpup((__be32 *)adc->rx_buf);
171169
172170 if (!(adc->spi->mode & SPI_CPOL))
173171 raw <<= 1; /* strip Data Ready bit in SPI mode 0,0 */
....@@ -387,8 +385,6 @@
387385 adc = iio_priv(indio_dev);
388386 adc->spi = spi;
389387
390
- indio_dev->dev.parent = &spi->dev;
391
- indio_dev->dev.of_node = spi->dev.of_node;
392388 indio_dev->name = spi_get_device_id(spi)->name;
393389 indio_dev->modes = INDIO_DIRECT_MODE;
394390 indio_dev->info = &mcp320x_info;
....@@ -424,7 +420,8 @@
424420 adc->transfer[1].len++;
425421
426422 /* conversions are started by asserting CS pin for 8 usec */
427
- adc->start_conv_transfer.delay_usecs = 8;
423
+ adc->start_conv_transfer.delay.value = 8;
424
+ adc->start_conv_transfer.delay.unit = SPI_DELAY_UNIT_USECS;
428425 spi_message_init_with_transfers(&adc->start_conv_msg,
429426 &adc->start_conv_transfer, 1);
430427
....@@ -473,7 +470,6 @@
473470 return 0;
474471 }
475472
476
-#if defined(CONFIG_OF)
477473 static const struct of_device_id mcp320x_dt_ids[] = {
478474 /* NOTE: The use of compatibles with no vendor prefix is deprecated. */
479475 { .compatible = "mcp3001" },
....@@ -501,7 +497,6 @@
501497 { }
502498 };
503499 MODULE_DEVICE_TABLE(of, mcp320x_dt_ids);
504
-#endif
505500
506501 static const struct spi_device_id mcp320x_id[] = {
507502 { "mcp3001", mcp3001 },
....@@ -524,7 +519,7 @@
524519 static struct spi_driver mcp320x_driver = {
525520 .driver = {
526521 .name = "mcp320x",
527
- .of_match_table = of_match_ptr(mcp320x_dt_ids),
522
+ .of_match_table = mcp320x_dt_ids,
528523 },
529524 .probe = mcp320x_probe,
530525 .remove = mcp320x_remove,