can_transceiver_phy
return priv->can_transceiver_phy[0].generic_phy;
return priv->can_transceiver_phy[idx].generic_phy;
struct can_transceiver_phy *can_transceiver_phy;
priv = devm_kzalloc(dev, struct_size(priv, can_transceiver_phy, num_ch), GFP_KERNEL);
can_transceiver_phy = &priv->can_transceiver_phy[i];
can_transceiver_phy->priv = priv;
can_transceiver_phy->generic_phy = phy;
can_transceiver_phy->priv = priv;
can_transceiver_phy->standby_gpio = standby_gpio;
can_transceiver_phy->enable_gpio = enable_gpio;
can_transceiver_phy->silent_gpio = silent_gpio;
phy_set_drvdata(can_transceiver_phy->generic_phy, can_transceiver_phy);
struct can_transceiver_phy can_transceiver_phy[] __counted_by(num_ch);
struct can_transceiver_phy *can_transceiver_phy = phy_get_drvdata(phy);
struct can_transceiver_priv *priv = can_transceiver_phy->priv;
gpiod_set_value_cansleep(can_transceiver_phy->silent_gpio, 0);
gpiod_set_value_cansleep(can_transceiver_phy->standby_gpio, 0);
gpiod_set_value_cansleep(can_transceiver_phy->enable_gpio, 1);
struct can_transceiver_phy *can_transceiver_phy = phy_get_drvdata(phy);
struct can_transceiver_priv *priv = can_transceiver_phy->priv;
gpiod_set_value_cansleep(can_transceiver_phy->silent_gpio, 1);
gpiod_set_value_cansleep(can_transceiver_phy->standby_gpio, 1);
gpiod_set_value_cansleep(can_transceiver_phy->enable_gpio, 0);