Hello!

On 3/14/2017 12:05 AM, Alban wrote:

Allow registering ath9k AHB devices defined in DT. This just add the
compatible strings to allow matching the driver and setting the proper
device ID.

Signed-off-by: Alban <al...@free.fr>
---
 drivers/net/wireless/ath/ath9k/ahb.c | 47 +++++++++++++++++++++++++++++++++---
 1 file changed, 43 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ahb.c 
b/drivers/net/wireless/ath/ath9k/ahb.c
index 2bd982c..36a2645 100644
--- a/drivers/net/wireless/ath/ath9k/ahb.c
+++ b/drivers/net/wireless/ath/ath9k/ahb.c
[...]
@@ -79,10 +107,20 @@ static int ath_ahb_probe(struct platform_device *pdev)
        int ret = 0;
        struct ath_hw *ah;
        char hw_name[64];
+       u16 devid;

-       if (!dev_get_platdata(&pdev->dev)) {
-               dev_err(&pdev->dev, "no platform data specified\n");
-               return -EINVAL;
+       if (id) {
+               devid = id->driver_data;
+       } else {
+               const struct of_device_id *match;
+
+               match = of_match_device(ath_ahb_of_match, &pdev->dev);
+               if (!match) {
+                       dev_err(&pdev->dev, "no device match found\n");
+                       return -EINVAL;
+               }
+
+               devid = (u16)(unsigned long)match->data;

   of_device_get_match_data() instead of the above perhaps?

[...]

MBR, Sergei

Reply via email to