ptn3222
struct ptn3222 *ptn3222 = phy_get_drvdata(phy);
ret = regulator_bulk_enable(NUM_SUPPLIES, ptn3222->supplies);
gpiod_set_value_cansleep(ptn3222->reset_gpio, 0);
struct ptn3222 *ptn3222 = phy_get_drvdata(phy);
gpiod_set_value_cansleep(ptn3222->reset_gpio, 1);
return regulator_bulk_disable(NUM_SUPPLIES, ptn3222->supplies);
struct ptn3222 *ptn3222;
ptn3222 = devm_kzalloc(dev, sizeof(*ptn3222), GFP_KERNEL);
if (!ptn3222)
ptn3222->client = client;
ptn3222->reset_gpio = devm_gpiod_get_optional(dev, "reset",
if (IS_ERR(ptn3222->reset_gpio))
return dev_err_probe(dev, PTR_ERR(ptn3222->reset_gpio),
&ptn3222->supplies);
ptn3222->phy = devm_phy_create(dev, dev->of_node, &ptn3222_ops);
if (IS_ERR(ptn3222->phy)) {
return PTR_ERR(ptn3222->phy);
phy_set_drvdata(ptn3222->phy, ptn3222);