pinctrl-glue.c 618 B

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