|
24 | 24 | #include <linux/pci.h>
|
25 | 25 | #include <linux/pci-ecam.h>
|
26 | 26 | #include <linux/printk.h>
|
27 |
| -#include <linux/regulator/consumer.h> |
28 | 27 | #include <linux/reset.h>
|
29 | 28 | #include <linux/sizes.h>
|
30 | 29 | #include <linux/slab.h>
|
@@ -284,14 +283,6 @@ static const struct pcie_cfg_data bcm2711_cfg = {
|
284 | 283 | .bridge_sw_init_set = brcm_pcie_bridge_sw_init_set_generic,
|
285 | 284 | };
|
286 | 285 |
|
287 |
| -struct subdev_regulators { |
288 |
| - unsigned int num_supplies; |
289 |
| - struct regulator_bulk_data supplies[]; |
290 |
| -}; |
291 |
| - |
292 |
| -static int pci_subdev_regulators_add_bus(struct pci_bus *bus); |
293 |
| -static void pci_subdev_regulators_remove_bus(struct pci_bus *bus); |
294 |
| - |
295 | 286 | struct brcm_msi {
|
296 | 287 | struct device *dev;
|
297 | 288 | void __iomem *base;
|
@@ -445,71 +436,6 @@ static int brcm_pcie_set_ssc(struct brcm_pcie *pcie)
|
445 | 436 | return ssc && pll ? 0 : -EIO;
|
446 | 437 | }
|
447 | 438 |
|
448 |
| -static void *alloc_subdev_regulators(struct device *dev) |
449 |
| -{ |
450 |
| - static const char * const supplies[] = { |
451 |
| - "vpcie3v3", |
452 |
| - "vpcie3v3aux", |
453 |
| - "vpcie12v", |
454 |
| - }; |
455 |
| - const size_t size = sizeof(struct subdev_regulators) |
456 |
| - + sizeof(struct regulator_bulk_data) * ARRAY_SIZE(supplies); |
457 |
| - struct subdev_regulators *sr; |
458 |
| - int i; |
459 |
| - |
460 |
| - sr = devm_kzalloc(dev, size, GFP_KERNEL); |
461 |
| - if (sr) { |
462 |
| - sr->num_supplies = ARRAY_SIZE(supplies); |
463 |
| - for (i = 0; i < ARRAY_SIZE(supplies); i++) |
464 |
| - sr->supplies[i].supply = supplies[i]; |
465 |
| - } |
466 |
| - |
467 |
| - return sr; |
468 |
| -} |
469 |
| - |
470 |
| -static int pci_subdev_regulators_add_bus(struct pci_bus *bus) |
471 |
| -{ |
472 |
| - struct device *dev = &bus->dev; |
473 |
| - struct subdev_regulators *sr; |
474 |
| - int ret; |
475 |
| - |
476 |
| - if (!dev->of_node || !bus->parent || !pci_is_root_bus(bus->parent)) |
477 |
| - return 0; |
478 |
| - |
479 |
| - if (dev->driver_data) |
480 |
| - dev_err(dev, "dev.driver_data unexpectedly non-NULL\n"); |
481 |
| - |
482 |
| - sr = alloc_subdev_regulators(dev); |
483 |
| - if (!sr) |
484 |
| - return -ENOMEM; |
485 |
| - |
486 |
| - dev->driver_data = sr; |
487 |
| - ret = regulator_bulk_get(dev, sr->num_supplies, sr->supplies); |
488 |
| - if (ret) |
489 |
| - return ret; |
490 |
| - |
491 |
| - ret = regulator_bulk_enable(sr->num_supplies, sr->supplies); |
492 |
| - if (ret) { |
493 |
| - dev_err(dev, "failed to enable regulators for downstream device\n"); |
494 |
| - return ret; |
495 |
| - } |
496 |
| - |
497 |
| - return 0; |
498 |
| -} |
499 |
| - |
500 |
| -static void pci_subdev_regulators_remove_bus(struct pci_bus *bus) |
501 |
| -{ |
502 |
| - struct device *dev = &bus->dev; |
503 |
| - struct subdev_regulators *sr = dev->driver_data; |
504 |
| - |
505 |
| - if (!sr || !bus->parent || !pci_is_root_bus(bus->parent)) |
506 |
| - return; |
507 |
| - |
508 |
| - if (regulator_bulk_disable(sr->num_supplies, sr->supplies)) |
509 |
| - dev_err(dev, "failed to disable regulators for downstream device\n"); |
510 |
| - dev->driver_data = NULL; |
511 |
| -} |
512 |
| - |
513 | 439 | /* Limits operation to a specific generation (1, 2, or 3) */
|
514 | 440 | static void brcm_pcie_set_gen(struct brcm_pcie *pcie, int gen)
|
515 | 441 | {
|
@@ -853,8 +779,6 @@ static struct pci_ops brcm_pcie_ops = {
|
853 | 779 | .map_bus = brcm_pcie_map_conf,
|
854 | 780 | .read = pci_generic_config_read,
|
855 | 781 | .write = pci_generic_config_write,
|
856 |
| - .add_bus = pci_subdev_regulators_add_bus, |
857 |
| - .remove_bus = pci_subdev_regulators_remove_bus, |
858 | 782 | };
|
859 | 783 |
|
860 | 784 | static struct pci_ops brcm_pcie_ops32 = {
|
|
0 commit comments