sh: pfc: pinctrl legacy group support.

This follows the function support by simply doing 1 pin per group
encapsulation in order to keep with legacy behaviour. This will be
built on incrementally as SoCs define their own pin groups.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
Paul Mundt 2012-07-17 15:48:18 +09:00
parent e3e79454a7
commit e3f805e897

View File

@ -37,29 +37,35 @@ struct sh_pfc_pinctrl {
static struct sh_pfc_pinctrl *sh_pfc_pmx; static struct sh_pfc_pinctrl *sh_pfc_pmx;
/* static int sh_pfc_get_groups_count(struct pinctrl_dev *pctldev)
* No group support yet
*/
static int sh_pfc_get_noop_count(struct pinctrl_dev *pctldev)
{ {
return 0; struct sh_pfc_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev);
return pmx->nr_pads;
} }
static const char *sh_pfc_get_noop_name(struct pinctrl_dev *pctldev, static const char *sh_pfc_get_group_name(struct pinctrl_dev *pctldev,
unsigned selector) unsigned selector)
{ {
return NULL; struct sh_pfc_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev);
return pmx->pads[selector].name;
} }
static int sh_pfc_get_group_pins(struct pinctrl_dev *pctldev, unsigned group, static int sh_pfc_get_group_pins(struct pinctrl_dev *pctldev, unsigned group,
const unsigned **pins, unsigned *num_pins) const unsigned **pins, unsigned *num_pins)
{ {
return -ENOTSUPP; struct sh_pfc_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev);
*pins = &pmx->pads[group].number;
*num_pins = 1;
return 0;
} }
static struct pinctrl_ops sh_pfc_pinctrl_ops = { static struct pinctrl_ops sh_pfc_pinctrl_ops = {
.get_groups_count = sh_pfc_get_noop_count, .get_groups_count = sh_pfc_get_groups_count,
.get_group_name = sh_pfc_get_noop_name, .get_group_name = sh_pfc_get_group_name,
.get_group_pins = sh_pfc_get_group_pins, .get_group_pins = sh_pfc_get_group_pins,
}; };