Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4447ca12 authored by Alexander Sverdlin's avatar Alexander Sverdlin Committed by Grant Likely
Browse files

of_i2c: Honour "status=disabled" property of device



Currently of_i2c_register_devices() function registers all i2c devices,
independently from their status property in device tree. According to
"ePAPR 1.1" spec, device should only be registered if there is no
"status" property, or it has "ok" (or "okay") value (see
of_device_is_available()). In case of "platform devices",
of_platform_device_create_pdata() checks for "status" and ensures
that disabled devices are not populated. But such check for i2c buses
was missing until now. Fix it.

Signed-off-by: default avatarAlexander Sverdlin <alexander.sverdlin@sysgo.com>
Acked-by: default avatarRob Herring <robherring2@gmail.com>
Acked-by: default avatarWolfram Sang <w.sang@pengutronix.de>
Reviewed-by: default avatarBarry Song <Baohua.Song@csr.com>
Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
parent 499b42c3
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -29,7 +29,7 @@ void of_i2c_register_devices(struct i2c_adapter *adap)


	dev_dbg(&adap->dev, "of_i2c: walking child nodes\n");
	dev_dbg(&adap->dev, "of_i2c: walking child nodes\n");


	for_each_child_of_node(adap->dev.of_node, node) {
	for_each_available_child_of_node(adap->dev.of_node, node) {
		struct i2c_board_info info = {};
		struct i2c_board_info info = {};
		struct dev_archdata dev_ad = {};
		struct dev_archdata dev_ad = {};
		const __be32 *addr;
		const __be32 *addr;