[PATCH] qe: add function qe_clock_source
Timur Tabi
timur at freescale.com
Wed Oct 10 02:21:54 EST 2007
Kumar Gala wrote:
> is 19 the actual value you'd end up using from the HW? or is it related
> to some random enum value?
Random enum value. Here's the code in ucc_geth:
prop = of_get_property(np, "rx-clock", NULL);
ug_info->uf_info.rx_clock = *prop;
Here's the data type:
struct ucc_fast_info {
int ucc_num;
enum qe_clock rx_clock;
enum qe_clock tx_clock;
...
As you can see, it doesn't even validate the property.
My uart driver has this:
rx-clock-source = "BRG5";
tx-clock-source = "BRG6";
sprop = of_get_property(np, "rx-clock-source", NULL);
if (!sprop) {
printk(KERN_ERR
"ucc-uart: missing rx-clock-source in device tree\n");
kfree(qe_port);
return -ENODEV;
}
qe_port->us_info.rx_clock = of_clock_source(sprop);
if ((qe_port->us_info.rx_clock < QE_BRG1) ||
(qe_port->us_info.rx_clock > QE_BRG16)) {
printk(KERN_ERR
"ucc-uart: rx-clock-source must be a BRG for UART\n");
kfree(qe_port);
return -ENODEV;
}
I will be submitting patches to ucc_geth to fix this problem.
--
Timur Tabi
Linux Kernel Developer @ Freescale
More information about the Linuxppc-dev
mailing list