Quoting Soren Brinkmann (2013-09-18 15:43:38) > diff --git a/Documentation/devicetree/bindings/clock/silabs,si570.txt b/Documentation/devicetree/bindings/clock/silabs,si570.txt > new file mode 100644 > index 0000000..7ab5c8b > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/silabs,si570.txt > @@ -0,0 +1,38 @@ > +Binding for Silicon Labs 570, 571, 598 and 599 programmable > +I2C clock generators. > + > +Reference > +This binding uses the common clock binding[1]. Details about the devices can be > +found in the data sheets[2][3]. > + > +[1] Documentation/devicetree/bindings/clock/clock-bindings.txt > +[2] Si570/571 Data Sheet > + http://www.silabs.com/Support%20Documents/TechnicalDocs/si570.pdf > +[3] Si598/599 Data Sheet > + http://www.silabs.com/Support%20Documents/TechnicalDocs/si598-99.pdf > + > +Required properties: > + - compatible: Shall be one of "silabs,si570", "silabs,si571", > + "silabs,si598", "silabs,si599" > + - reg: I2C device address. > + - #clock-cells: From common clock bindings: Shall be 0. > + - factory-fout: Factory set default frequency. This frequency is part specific. > + The correct frequency for the part used has to be provided in > + order to generate the correct output frequencies. For more > + details, please refer to the data sheet. > + > +Optional properties: > + - clock-output-names: From common clock bindings. Recommended to be "si570". > + - clock-frequency: Output frequency to generate. This defines the output > + frequency set during boot. It can be reprogrammed during > + runtime using the common clock framework. > + - temperature-stability-7ppm: Indicate a device with a temperature stability > + of 7ppm Some DT binding bike-shedding: Should this be "temperature-stability-ppm = <7>;" ? Do you think that this value might change in the future? > diff --git a/drivers/clk/clk-si570.c b/drivers/clk/clk-si570.c > new file mode 100644 > index 0000000..c20dfce > --- /dev/null > +++ b/drivers/clk/clk-si570.c > @@ -0,0 +1,517 @@ <snip> > +static bool si570_regmap_is_volatile(struct device *dev, unsigned int reg) > +{ > + switch (reg) { > + case 135: > + return true; > + default: > + return false; > + } > +} > + > +static bool si570_regmap_is_writeable(struct device *dev, unsigned int reg) > +{ > + switch (reg) { > + case 7 ... 18: > + case 135: > + case 137: > + return true; > + default: > + return false; > + } > +} Should magic numbers above be symbolic constants? Regards, Mike -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html