mpfs-control-scb.c 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include <linux/array_size.h>
  3. #include <linux/of.h>
  4. #include <linux/mfd/core.h>
  5. #include <linux/mfd/syscon.h>
  6. #include <linux/platform_device.h>
  7. static const struct mfd_cell mpfs_control_scb_devs[] = {
  8. MFD_CELL_NAME("mpfs-tvs"),
  9. };
  10. static int mpfs_control_scb_probe(struct platform_device *pdev)
  11. {
  12. struct device *dev = &pdev->dev;
  13. return devm_mfd_add_devices(dev, PLATFORM_DEVID_NONE,
  14. mpfs_control_scb_devs,
  15. ARRAY_SIZE(mpfs_control_scb_devs), NULL, 0,
  16. NULL);
  17. }
  18. static const struct of_device_id mpfs_control_scb_of_match[] = {
  19. { .compatible = "microchip,mpfs-control-scb", },
  20. {},
  21. };
  22. MODULE_DEVICE_TABLE(of, mpfs_control_scb_of_match);
  23. static struct platform_driver mpfs_control_scb_driver = {
  24. .driver = {
  25. .name = "mpfs-control-scb",
  26. .of_match_table = mpfs_control_scb_of_match,
  27. },
  28. .probe = mpfs_control_scb_probe,
  29. };
  30. module_platform_driver(mpfs_control_scb_driver);
  31. MODULE_LICENSE("GPL");
  32. MODULE_AUTHOR("Conor Dooley <conor.dooley@microchip.com>");
  33. MODULE_DESCRIPTION("PolarFire SoC control scb driver");