Skip to content

Commit

Permalink
sh: pfc: pinctrl legacy group support.
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
pmundt committed Jul 17, 2012
1 parent e3e7945 commit e3f805e
Showing 1 changed file with 16 additions and 10 deletions.
26 changes: 16 additions & 10 deletions drivers/sh/pfc/pinctrl.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,29 +37,35 @@ struct sh_pfc_pinctrl {

static struct sh_pfc_pinctrl *sh_pfc_pmx;

/*
* No group support yet
*/
static int sh_pfc_get_noop_count(struct pinctrl_dev *pctldev)
static int sh_pfc_get_groups_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)
{
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,
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 = {
.get_groups_count = sh_pfc_get_noop_count,
.get_group_name = sh_pfc_get_noop_name,
.get_groups_count = sh_pfc_get_groups_count,
.get_group_name = sh_pfc_get_group_name,
.get_group_pins = sh_pfc_get_group_pins,
};

Expand Down

0 comments on commit e3f805e

Please sign in to comment.