pinctrl-glue.c 629 B

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. * Copyright (C) 2016 Socionext Inc.
  3. * Author: Masahiro Yamada <yamada.masahiro@socionext.com>
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #include <linux/err.h>
  8. #include <dm/device.h>
  9. #include <dm/pinctrl.h>
  10. #include <dm/uclass.h>
  11. #include "init.h"
  12. int uniphier_pin_init(const char *pinconfig_name)
  13. {
  14. struct udevice *pctldev, *config, *next;
  15. int ret;
  16. ret = uclass_first_device(UCLASS_PINCTRL, &pctldev);
  17. if (ret)
  18. return ret;
  19. device_foreach_child_safe(config, next, pctldev) {
  20. if (strcmp(config->name, pinconfig_name))
  21. continue;
  22. return pinctrl_generic_set_state(pctldev, config);
  23. }
  24. return -ENODEV;
  25. }