Lines Matching defs:bitbang
3 * GPIO based MDIO bitbang driver.
22 #include <linux/mdio-bitbang.h>
36 struct mdio_gpio_info *bitbang)
38 bitbang->mdc = devm_gpiod_get_index(dev, NULL, MDIO_GPIO_MDC,
40 if (IS_ERR(bitbang->mdc))
41 return PTR_ERR(bitbang->mdc);
43 bitbang->mdio = devm_gpiod_get_index(dev, NULL, MDIO_GPIO_MDIO,
45 if (IS_ERR(bitbang->mdio))
46 return PTR_ERR(bitbang->mdio);
48 bitbang->mdo = devm_gpiod_get_index_optional(dev, NULL, MDIO_GPIO_MDO,
50 return PTR_ERR_OR_ZERO(bitbang->mdo);
55 struct mdio_gpio_info *bitbang =
58 if (bitbang->mdo) {
64 gpiod_set_value_cansleep(bitbang->mdo, 1);
69 gpiod_direction_output(bitbang->mdio, 1);
71 gpiod_direction_input(bitbang->mdio);
76 struct mdio_gpio_info *bitbang =
79 return gpiod_get_value_cansleep(bitbang->mdio);
84 struct mdio_gpio_info *bitbang =
87 if (bitbang->mdo)
88 gpiod_set_value_cansleep(bitbang->mdo, what);
90 gpiod_set_value_cansleep(bitbang->mdio, what);
95 struct mdio_gpio_info *bitbang =
98 gpiod_set_value_cansleep(bitbang->mdc, what);
110 struct mdio_gpio_info *bitbang,
116 bitbang->ctrl.ops = &mdio_gpio_ops;
118 new_bus = alloc_mdio_bitbang(&bitbang->ctrl);
136 bitbang->ctrl.op_c22_read = 0;
137 bitbang->ctrl.op_c22_write = 0;
138 bitbang->ctrl.override_op_c22 = 1;
163 struct mdio_gpio_info *bitbang;
167 bitbang = devm_kzalloc(&pdev->dev, sizeof(*bitbang), GFP_KERNEL);
168 if (!bitbang)
171 ret = mdio_gpio_get_data(&pdev->dev, bitbang);
185 new_bus = mdio_gpio_bus_init(&pdev->dev, bitbang, bus_id);