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.
Thanks.