Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] media: mt9m111: add device-tree suppport

Add device-tree support for mt9m111 camera sensor.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

authored by

Robert Jarzmik and committed by
Mauro Carvalho Chehab
c5f176dc 1ddc6a6c

+12
+12
drivers/media/i2c/soc_camera/mt9m111.c
··· 931 931 struct soc_camera_subdev_desc *ssdd = soc_camera_i2c_to_desc(client); 932 932 int ret; 933 933 934 + if (client->dev.of_node) { 935 + ssdd = devm_kzalloc(&client->dev, sizeof(*ssdd), GFP_KERNEL); 936 + if (!ssdd) 937 + return -ENOMEM; 938 + client->dev.platform_data = ssdd; 939 + } 934 940 if (!ssdd) { 935 941 dev_err(&client->dev, "mt9m111: driver needs platform data\n"); 936 942 return -EINVAL; ··· 1021 1015 1022 1016 return 0; 1023 1017 } 1018 + static const struct of_device_id mt9m111_of_match[] = { 1019 + { .compatible = "micron,mt9m111", }, 1020 + {}, 1021 + }; 1022 + MODULE_DEVICE_TABLE(of, mt9m111_of_match); 1024 1023 1025 1024 static const struct i2c_device_id mt9m111_id[] = { 1026 1025 { "mt9m111", 0 }, ··· 1036 1025 static struct i2c_driver mt9m111_i2c_driver = { 1037 1026 .driver = { 1038 1027 .name = "mt9m111", 1028 + .of_match_table = of_match_ptr(mt9m111_of_match), 1039 1029 }, 1040 1030 .probe = mt9m111_probe, 1041 1031 .remove = mt9m111_remove,