|
12 | 12 | #include <linux/clk.h>
|
13 | 13 | #include <linux/err.h>
|
14 | 14 | #include <linux/hwspinlock.h>
|
15 |
| -#include <linux/io.h> |
16 |
| -#include <linux/init.h> |
17 | 15 | #include <linux/list.h>
|
18 | 16 | #include <linux/mutex.h>
|
19 | 17 | #include <linux/of.h>
|
20 | 18 | #include <linux/of_address.h>
|
21 |
| -#include <linux/of_platform.h> |
22 |
| -#include <linux/platform_data/syscon.h> |
23 |
| -#include <linux/platform_device.h> |
24 | 19 | #include <linux/regmap.h>
|
25 | 20 | #include <linux/reset.h>
|
26 | 21 | #include <linux/mfd/syscon.h>
|
27 | 22 | #include <linux/slab.h>
|
28 | 23 |
|
29 |
| -static struct platform_driver syscon_driver; |
30 |
| - |
31 | 24 | static DEFINE_MUTEX(syscon_list_lock);
|
32 | 25 | static LIST_HEAD(syscon_list);
|
33 | 26 |
|
@@ -337,62 +330,3 @@ struct regmap *syscon_regmap_lookup_by_phandle_optional(struct device_node *np,
|
337 | 330 | return regmap;
|
338 | 331 | }
|
339 | 332 | EXPORT_SYMBOL_GPL(syscon_regmap_lookup_by_phandle_optional);
|
340 |
| - |
341 |
| -static int syscon_probe(struct platform_device *pdev) |
342 |
| -{ |
343 |
| - struct device *dev = &pdev->dev; |
344 |
| - struct syscon_platform_data *pdata = dev_get_platdata(dev); |
345 |
| - struct syscon *syscon; |
346 |
| - struct regmap_config syscon_config = syscon_regmap_config; |
347 |
| - struct resource *res; |
348 |
| - void __iomem *base; |
349 |
| - |
350 |
| - syscon = devm_kzalloc(dev, sizeof(*syscon), GFP_KERNEL); |
351 |
| - if (!syscon) |
352 |
| - return -ENOMEM; |
353 |
| - |
354 |
| - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
355 |
| - if (!res) |
356 |
| - return -ENOENT; |
357 |
| - |
358 |
| - base = devm_ioremap(dev, res->start, resource_size(res)); |
359 |
| - if (!base) |
360 |
| - return -ENOMEM; |
361 |
| - |
362 |
| - syscon_config.max_register = resource_size(res) - 4; |
363 |
| - if (!syscon_config.max_register) |
364 |
| - syscon_config.max_register_is_0 = true; |
365 |
| - |
366 |
| - if (pdata) |
367 |
| - syscon_config.name = pdata->label; |
368 |
| - syscon->regmap = devm_regmap_init_mmio(dev, base, &syscon_config); |
369 |
| - if (IS_ERR(syscon->regmap)) { |
370 |
| - dev_err(dev, "regmap init failed\n"); |
371 |
| - return PTR_ERR(syscon->regmap); |
372 |
| - } |
373 |
| - |
374 |
| - platform_set_drvdata(pdev, syscon); |
375 |
| - |
376 |
| - dev_dbg(dev, "regmap %pR registered\n", res); |
377 |
| - |
378 |
| - return 0; |
379 |
| -} |
380 |
| - |
381 |
| -static const struct platform_device_id syscon_ids[] = { |
382 |
| - { "syscon", }, |
383 |
| - { } |
384 |
| -}; |
385 |
| - |
386 |
| -static struct platform_driver syscon_driver = { |
387 |
| - .driver = { |
388 |
| - .name = "syscon", |
389 |
| - }, |
390 |
| - .probe = syscon_probe, |
391 |
| - .id_table = syscon_ids, |
392 |
| -}; |
393 |
| - |
394 |
| -static int __init syscon_init(void) |
395 |
| -{ |
396 |
| - return platform_driver_register(&syscon_driver); |
397 |
| -} |
398 |
| -postcore_initcall(syscon_init); |
0 commit comments