Symbol: csi2_dev
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
100
struct regmap *regmap = csi2_dev->regmap;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
102
csi2_dev->bridge.endpoint.bus.mipi_csi2.num_data_lanes;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
103
struct v4l2_mbus_framefmt *mbus_format = &csi2_dev->bridge.mbus_format;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
105
struct device *dev = csi2_dev->dev;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
172
struct sun6i_mipi_csi2_device *csi2_dev = v4l2_get_subdevdata(subdev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
173
struct v4l2_subdev *source_subdev = csi2_dev->bridge.source_subdev;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
176
struct v4l2_mbus_framefmt *mbus_format = &csi2_dev->bridge.mbus_format;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
178
struct phy *dphy = csi2_dev->dphy;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
179
struct device *dev = csi2_dev->dev;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
182
csi2_dev->bridge.endpoint.bus.mipi_csi2.num_data_lanes;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
263
sun6i_mipi_csi2_configure(csi2_dev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
264
sun6i_mipi_csi2_enable(csi2_dev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
284
sun6i_mipi_csi2_disable(csi2_dev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
311
struct sun6i_mipi_csi2_device *csi2_dev = v4l2_get_subdevdata(subdev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
315
struct mutex *lock = &csi2_dev->bridge.lock;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
347
struct sun6i_mipi_csi2_device *csi2_dev = v4l2_get_subdevdata(subdev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
349
struct mutex *lock = &csi2_dev->bridge.lock;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
357
*mbus_format = csi2_dev->bridge.mbus_format;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
368
struct sun6i_mipi_csi2_device *csi2_dev = v4l2_get_subdevdata(subdev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
370
struct mutex *lock = &csi2_dev->bridge.lock;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
380
csi2_dev->bridge.mbus_format = *mbus_format;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
416
struct sun6i_mipi_csi2_device *csi2_dev =
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
421
struct device *dev = csi2_dev->dev;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
450
csi2_dev->bridge.source_subdev = remote_subdev;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
463
sun6i_mipi_csi2_bridge_source_setup(struct sun6i_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
465
struct v4l2_async_notifier *notifier = &csi2_dev->bridge.notifier;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
466
struct v4l2_fwnode_endpoint *endpoint = &csi2_dev->bridge.endpoint;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
469
struct device *dev = csi2_dev->dev;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
495
static int sun6i_mipi_csi2_bridge_setup(struct sun6i_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
497
struct sun6i_mipi_csi2_bridge *bridge = &csi2_dev->bridge;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
501
struct device *dev = csi2_dev->dev;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
516
v4l2_set_subdevdata(subdev, csi2_dev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
540
ret = sun6i_mipi_csi2_bridge_source_setup(csi2_dev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
574
sun6i_mipi_csi2_bridge_cleanup(struct sun6i_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
576
struct v4l2_subdev *subdev = &csi2_dev->bridge.subdev;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
577
struct v4l2_async_notifier *notifier = &csi2_dev->bridge.notifier;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
589
struct sun6i_mipi_csi2_device *csi2_dev = dev_get_drvdata(dev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
591
clk_disable_unprepare(csi2_dev->clock_mod);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
592
reset_control_assert(csi2_dev->reset);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
599
struct sun6i_mipi_csi2_device *csi2_dev = dev_get_drvdata(dev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
602
ret = reset_control_deassert(csi2_dev->reset);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
608
ret = clk_prepare_enable(csi2_dev->clock_mod);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
617
reset_control_assert(csi2_dev->reset);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
635
sun6i_mipi_csi2_resources_setup(struct sun6i_mipi_csi2_device *csi2_dev,
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
638
struct device *dev = csi2_dev->dev;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
648
csi2_dev->regmap =
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
651
if (IS_ERR(csi2_dev->regmap)) {
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
653
return PTR_ERR(csi2_dev->regmap);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
658
csi2_dev->clock_mod = devm_clk_get(dev, "mod");
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
659
if (IS_ERR(csi2_dev->clock_mod)) {
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
661
return PTR_ERR(csi2_dev->clock_mod);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
664
ret = clk_set_rate_exclusive(csi2_dev->clock_mod, 297000000);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
672
csi2_dev->reset = devm_reset_control_get_shared(dev, NULL);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
673
if (IS_ERR(csi2_dev->reset)) {
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
675
ret = PTR_ERR(csi2_dev->reset);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
681
csi2_dev->dphy = devm_phy_get(dev, "dphy");
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
682
if (IS_ERR(csi2_dev->dphy)) {
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
684
ret = PTR_ERR(csi2_dev->dphy);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
688
ret = phy_init(csi2_dev->dphy);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
701
clk_rate_exclusive_put(csi2_dev->clock_mod);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
707
sun6i_mipi_csi2_resources_cleanup(struct sun6i_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
709
pm_runtime_disable(csi2_dev->dev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
710
phy_exit(csi2_dev->dphy);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
711
clk_rate_exclusive_put(csi2_dev->clock_mod);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
716
struct sun6i_mipi_csi2_device *csi2_dev;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
720
csi2_dev = devm_kzalloc(dev, sizeof(*csi2_dev), GFP_KERNEL);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
721
if (!csi2_dev)
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
724
csi2_dev->dev = dev;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
725
platform_set_drvdata(platform_dev, csi2_dev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
727
ret = sun6i_mipi_csi2_resources_setup(csi2_dev, platform_dev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
731
ret = sun6i_mipi_csi2_bridge_setup(csi2_dev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
738
sun6i_mipi_csi2_resources_cleanup(csi2_dev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
745
struct sun6i_mipi_csi2_device *csi2_dev =
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
748
sun6i_mipi_csi2_bridge_cleanup(csi2_dev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
749
sun6i_mipi_csi2_resources_cleanup(csi2_dev);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
82
static void sun6i_mipi_csi2_enable(struct sun6i_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
84
struct regmap *regmap = csi2_dev->regmap;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
90
static void sun6i_mipi_csi2_disable(struct sun6i_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
92
struct regmap *regmap = csi2_dev->regmap;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
98
static void sun6i_mipi_csi2_configure(struct sun6i_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c
21
struct sun8i_a83t_mipi_csi2_device *csi2_dev = phy_get_drvdata(dphy);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c
22
struct regmap *regmap = csi2_dev->regmap;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c
38
struct sun8i_a83t_mipi_csi2_device *csi2_dev = phy_get_drvdata(dphy);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c
39
struct regmap *regmap = csi2_dev->regmap;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c
52
int sun8i_a83t_dphy_register(struct sun8i_a83t_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c
54
struct device *dev = csi2_dev->dev;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c
57
csi2_dev->dphy = devm_phy_create(dev, NULL, &sun8i_a83t_dphy_ops);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c
58
if (IS_ERR(csi2_dev->dphy)) {
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c
60
return PTR_ERR(csi2_dev->dphy);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c
63
phy_set_drvdata(csi2_dev->dphy, csi2_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.h
37
int sun8i_a83t_dphy_register(struct sun8i_a83t_mipi_csi2_device *csi2_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
126
sun8i_a83t_mipi_csi2_enable(struct sun8i_a83t_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
128
struct regmap *regmap = csi2_dev->regmap;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
136
sun8i_a83t_mipi_csi2_disable(struct sun8i_a83t_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
138
struct regmap *regmap = csi2_dev->regmap;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
147
sun8i_a83t_mipi_csi2_configure(struct sun8i_a83t_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
149
struct regmap *regmap = csi2_dev->regmap;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
151
csi2_dev->bridge.endpoint.bus.mipi_csi2.num_data_lanes;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
152
struct v4l2_mbus_framefmt *mbus_format = &csi2_dev->bridge.mbus_format;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
154
struct device *dev = csi2_dev->dev;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
203
struct sun8i_a83t_mipi_csi2_device *csi2_dev =
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
205
struct v4l2_subdev *source_subdev = csi2_dev->bridge.source_subdev;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
208
struct v4l2_mbus_framefmt *mbus_format = &csi2_dev->bridge.mbus_format;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
210
struct phy *dphy = csi2_dev->dphy;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
211
struct device *dev = csi2_dev->dev;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
214
csi2_dev->bridge.endpoint.bus.mipi_csi2.num_data_lanes;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
295
sun8i_a83t_mipi_csi2_configure(csi2_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
296
sun8i_a83t_mipi_csi2_enable(csi2_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
316
sun8i_a83t_mipi_csi2_disable(csi2_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
344
struct sun8i_a83t_mipi_csi2_device *csi2_dev =
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
349
struct mutex *lock = &csi2_dev->bridge.lock;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
382
struct sun8i_a83t_mipi_csi2_device *csi2_dev =
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
385
struct mutex *lock = &csi2_dev->bridge.lock;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
393
*mbus_format = csi2_dev->bridge.mbus_format;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
404
struct sun8i_a83t_mipi_csi2_device *csi2_dev =
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
407
struct mutex *lock = &csi2_dev->bridge.lock;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
417
csi2_dev->bridge.mbus_format = *mbus_format;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
453
struct sun8i_a83t_mipi_csi2_device *csi2_dev =
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
458
struct device *dev = csi2_dev->dev;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
487
csi2_dev->bridge.source_subdev = remote_subdev;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
500
sun8i_a83t_mipi_csi2_bridge_source_setup(struct sun8i_a83t_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
502
struct v4l2_async_notifier *notifier = &csi2_dev->bridge.notifier;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
503
struct v4l2_fwnode_endpoint *endpoint = &csi2_dev->bridge.endpoint;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
506
struct device *dev = csi2_dev->dev;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
533
sun8i_a83t_mipi_csi2_bridge_setup(struct sun8i_a83t_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
535
struct sun8i_a83t_mipi_csi2_bridge *bridge = &csi2_dev->bridge;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
539
struct device *dev = csi2_dev->dev;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
554
v4l2_set_subdevdata(subdev, csi2_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
578
ret = sun8i_a83t_mipi_csi2_bridge_source_setup(csi2_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
612
sun8i_a83t_mipi_csi2_bridge_cleanup(struct sun8i_a83t_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
614
struct v4l2_subdev *subdev = &csi2_dev->bridge.subdev;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
615
struct v4l2_async_notifier *notifier = &csi2_dev->bridge.notifier;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
627
struct sun8i_a83t_mipi_csi2_device *csi2_dev = dev_get_drvdata(dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
629
clk_disable_unprepare(csi2_dev->clock_misc);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
630
clk_disable_unprepare(csi2_dev->clock_mipi);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
631
clk_disable_unprepare(csi2_dev->clock_mod);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
632
reset_control_assert(csi2_dev->reset);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
639
struct sun8i_a83t_mipi_csi2_device *csi2_dev = dev_get_drvdata(dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
642
ret = reset_control_deassert(csi2_dev->reset);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
648
ret = clk_prepare_enable(csi2_dev->clock_mod);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
654
ret = clk_prepare_enable(csi2_dev->clock_mipi);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
660
ret = clk_prepare_enable(csi2_dev->clock_misc);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
666
sun8i_a83t_mipi_csi2_init(csi2_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
671
clk_disable_unprepare(csi2_dev->clock_mipi);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
674
clk_disable_unprepare(csi2_dev->clock_mod);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
677
reset_control_assert(csi2_dev->reset);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
695
sun8i_a83t_mipi_csi2_resources_setup(struct sun8i_a83t_mipi_csi2_device *csi2_dev,
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
698
struct device *dev = csi2_dev->dev;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
708
csi2_dev->regmap =
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
711
if (IS_ERR(csi2_dev->regmap)) {
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
713
return PTR_ERR(csi2_dev->regmap);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
718
csi2_dev->clock_mod = devm_clk_get(dev, "mod");
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
719
if (IS_ERR(csi2_dev->clock_mod)) {
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
721
return PTR_ERR(csi2_dev->clock_mod);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
724
ret = clk_set_rate_exclusive(csi2_dev->clock_mod, 297000000);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
730
csi2_dev->clock_mipi = devm_clk_get(dev, "mipi");
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
731
if (IS_ERR(csi2_dev->clock_mipi)) {
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
733
ret = PTR_ERR(csi2_dev->clock_mipi);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
737
csi2_dev->clock_misc = devm_clk_get(dev, "misc");
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
738
if (IS_ERR(csi2_dev->clock_misc)) {
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
740
ret = PTR_ERR(csi2_dev->clock_misc);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
746
csi2_dev->reset = devm_reset_control_get_shared(dev, NULL);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
747
if (IS_ERR(csi2_dev->reset)) {
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
749
ret = PTR_ERR(csi2_dev->reset);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
755
ret = sun8i_a83t_dphy_register(csi2_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
768
clk_rate_exclusive_put(csi2_dev->clock_mod);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
774
sun8i_a83t_mipi_csi2_resources_cleanup(struct sun8i_a83t_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
776
pm_runtime_disable(csi2_dev->dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
777
phy_exit(csi2_dev->dphy);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
778
clk_rate_exclusive_put(csi2_dev->clock_mod);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
783
struct sun8i_a83t_mipi_csi2_device *csi2_dev;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
787
csi2_dev = devm_kzalloc(dev, sizeof(*csi2_dev), GFP_KERNEL);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
788
if (!csi2_dev)
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
791
csi2_dev->dev = dev;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
792
platform_set_drvdata(platform_dev, csi2_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
794
ret = sun8i_a83t_mipi_csi2_resources_setup(csi2_dev, platform_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
798
ret = sun8i_a83t_mipi_csi2_bridge_setup(csi2_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
805
sun8i_a83t_mipi_csi2_resources_cleanup(csi2_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
812
struct sun8i_a83t_mipi_csi2_device *csi2_dev =
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
815
sun8i_a83t_mipi_csi2_bridge_cleanup(csi2_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
816
sun8i_a83t_mipi_csi2_resources_cleanup(csi2_dev);
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
86
sun8i_a83t_mipi_csi2_init(struct sun8i_a83t_mipi_csi2_device *csi2_dev)
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
88
struct regmap *regmap = csi2_dev->regmap;
drivers/staging/media/imx/imx6-mipi-csi2.c
101
return container_of(n, struct csi2_dev, notifier);
drivers/staging/media/imx/imx6-mipi-csi2.c
132
static void csi2_enable(struct csi2_dev *csi2, bool enable)
drivers/staging/media/imx/imx6-mipi-csi2.c
145
static void csi2_set_lanes(struct csi2_dev *csi2, unsigned int lanes)
drivers/staging/media/imx/imx6-mipi-csi2.c
150
static void dw_mipi_csi2_phy_write(struct csi2_dev *csi2,
drivers/staging/media/imx/imx6-mipi-csi2.c
203
static int csi2_dphy_init(struct csi2_dev *csi2)
drivers/staging/media/imx/imx6-mipi-csi2.c
230
static int __maybe_unused csi2_dphy_wait_ulp(struct csi2_dev *csi2)
drivers/staging/media/imx/imx6-mipi-csi2.c
255
static void csi2_dphy_wait_stopstate(struct csi2_dev *csi2, unsigned int lanes)
drivers/staging/media/imx/imx6-mipi-csi2.c
271
static int csi2_dphy_wait_clock_lane(struct csi2_dev *csi2)
drivers/staging/media/imx/imx6-mipi-csi2.c
288
static void csi2ipu_gasket_init(struct csi2_dev *csi2)
drivers/staging/media/imx/imx6-mipi-csi2.c
304
static int csi2_get_active_lanes(struct csi2_dev *csi2, unsigned int *lanes)
drivers/staging/media/imx/imx6-mipi-csi2.c
341
static int csi2_start(struct csi2_dev *csi2)
drivers/staging/media/imx/imx6-mipi-csi2.c
397
static void csi2_stop(struct csi2_dev *csi2)
drivers/staging/media/imx/imx6-mipi-csi2.c
413
struct csi2_dev *csi2 = sd_to_dev(sd);
drivers/staging/media/imx/imx6-mipi-csi2.c
461
struct csi2_dev *csi2 = sd_to_dev(sd);
drivers/staging/media/imx/imx6-mipi-csi2.c
500
__csi2_get_fmt(struct csi2_dev *csi2, struct v4l2_subdev_state *sd_state,
drivers/staging/media/imx/imx6-mipi-csi2.c
513
struct csi2_dev *csi2 = sd_to_dev(sd);
drivers/staging/media/imx/imx6-mipi-csi2.c
531
struct csi2_dev *csi2 = sd_to_dev(sd);
drivers/staging/media/imx/imx6-mipi-csi2.c
559
struct csi2_dev *csi2 = sd_to_dev(sd);
drivers/staging/media/imx/imx6-mipi-csi2.c
572
struct csi2_dev *csi2 = sd_to_dev(sd);
drivers/staging/media/imx/imx6-mipi-csi2.c
641
struct csi2_dev *csi2 = notifier_to_dev(notifier);
drivers/staging/media/imx/imx6-mipi-csi2.c
664
struct csi2_dev *csi2 = notifier_to_dev(notifier);
drivers/staging/media/imx/imx6-mipi-csi2.c
674
static int csi2_async_register(struct csi2_dev *csi2)
drivers/staging/media/imx/imx6-mipi-csi2.c
721
struct csi2_dev *csi2;
drivers/staging/media/imx/imx6-mipi-csi2.c
809
struct csi2_dev *csi2 = sd_to_dev(sd);
drivers/staging/media/imx/imx6-mipi-csi2.c
94
static inline struct csi2_dev *sd_to_dev(struct v4l2_subdev *sdev)
drivers/staging/media/imx/imx6-mipi-csi2.c
96
return container_of(sdev, struct csi2_dev, sd);
drivers/staging/media/imx/imx6-mipi-csi2.c
99
static inline struct csi2_dev *notifier_to_dev(struct v4l2_async_notifier *n)