Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1430697
| From | Michal Suchanek <hramrach@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 1/3] spi: spidev: fix the check for spidev in dt |
| Date | 2016-06-24 16:30 +0200 |
| Message-ID | <rNAhj-Ks-13@gated-at.bofh.it> (permalink) |
| References | <rNAhj-Ks-9@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
The check is supposed to warn about spidev specified directly in
devicetree as compatible. This just does not work. I have a devicetree
with no compatible whatsoever and hacked my kernel so I can manually
bind spidev. This still triggers.
Also I have no idea how this could have build with ! CONFIG_OF since the
id table which the code checks is not compiled then.
Signed-off-by: Michal Suchanek <hramrach@gmail.com>
---
drivers/spi/spidev.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
index e3c19f3..8045baf 100644
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
@@ -700,6 +700,11 @@ static const struct of_device_id spidev_dt_ids[] = {
MODULE_DEVICE_TABLE(of, spidev_dt_ids);
#endif
+static const struct of_device_id spidev_check[] = {
+ { .compatible = "spidev" },
+ {}
+};
+
/*-------------------------------------------------------------------------*/
static int spidev_probe(struct spi_device *spi)
@@ -713,10 +718,10 @@ static int spidev_probe(struct spi_device *spi)
* compatible string, it is a Linux implementation thing
* rather than a description of the hardware.
*/
- if (spi->dev.of_node && !of_match_device(spidev_dt_ids, &spi->dev)) {
+ if (spi->dev.of_node && of_match_device(spidev_check, &spi->dev)) {
dev_err(&spi->dev, "buggy DT: spidev listed directly in DT\n");
WARN_ON(spi->dev.of_node &&
- !of_match_device(spidev_dt_ids, &spi->dev));
+ of_match_device(spidev_check, &spi->dev));
}
/* Allocate driver data */
--
2.8.1
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH 1/3] spi: spidev: fix the check for spidev in dt Michal Suchanek <hramrach@gmail.com> - 2016-06-24 16:30 +0200
Re: [PATCH 1/3] spi: spidev: fix the check for spidev in dt Mark Brown <broonie@kernel.org> - 2016-06-26 03:20 +0200
Re: [PATCH 1/3] spi: spidev: fix the check for spidev in dt Michal Suchanek <hramrach@gmail.com> - 2016-06-26 04:20 +0200
Re: [PATCH 1/3] spi: spidev: fix the check for spidev in dt Mark Brown <broonie@kernel.org> - 2016-06-26 13:10 +0200
Re: [PATCH 1/3] spi: spidev: fix the check for spidev in dt Mark Brown <broonie@kernel.org> - 2016-06-26 03:20 +0200
Re: [PATCH 1/3] spi: spidev: fix the check for spidev in dt Michal Suchanek <hramrach@gmail.com> - 2016-06-26 04:00 +0200
csiph-web