[PATCH v2 5/5] ASoC: WM8903: Add device tree binding

Rob Herring robherring2 at gmail.com
Wed Dec 7 06:06:58 EST 2011


On 12/06/2011 12:22 PM, Stephen Warren wrote:
> Stephen Warren wrote at Friday, December 02, 2011 3:09 PM:
>> Document the device tree binding for the WM8903 codec, and modify the
>> driver to extract platform data from the device tree, if present.
> 
> Mark,
> 
> I just realized that when I was re-organizing all the WM8903 patches, I
> dropped the part that added the of_match table to the driver:
> 
> +static const struct of_device_id wm8903_of_match[] __devinitconst = {
> +	{ .compatible = "wlf,wm8903", },
> +	{},
> +};
> +MODULE_DEVICE_TABLE(of, wm8903_of_match);
> 
> Now, everything still works without this. Looking at the Linux OF code,
> it works by retrieving the compatible property, taking everything after
> the comma if present, and then creating an i2c_board_info with that
> type, which in this case is "wm8903" and matches wm8903.c's i2c_device_id
> table. See drivers/of/of_i2c.c:of_i2c_register_devices() and the call to
> base.c:of_modalias_node().
> 
> So, the question is: Should I go back and add the of_match table, or
> is I2C intended to work without it perpetually? I notice that you added
> an of_match table for all the other WM codecs.

It definitely tries to match first with the OF match table, so it should
probably be added back.

Rob


More information about the devicetree-discuss mailing list