diff options
author | ian <ian@FreeBSD.org> | 2013-08-21 04:49:58 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2013-08-21 04:49:58 +0000 |
commit | 06b56d3baba00044004820b75e2634ecb076ae8e (patch) | |
tree | 41c6ce6b2bdc12b06489ae1496e9bde19d26340f /sys/arm/ti | |
parent | 7d7f7f1bb2a7a63aa6191f75bc43e56fbee96565 (diff) | |
download | FreeBSD-src-06b56d3baba00044004820b75e2634ecb076ae8e.zip FreeBSD-src-06b56d3baba00044004820b75e2634ecb076ae8e.tar.gz |
Make the noop clock successfully do nothing, because doing nothing and
returning an error status (which the NULL method pointers caused) isn't
nearly as useful.
Diffstat (limited to 'sys/arm/ti')
-rw-r--r-- | sys/arm/ti/am335x/am335x_prcm.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/sys/arm/ti/am335x/am335x_prcm.c b/sys/arm/ti/am335x/am335x_prcm.c index e0f0d7e..5cfdf2e 100644 --- a/sys/arm/ti/am335x/am335x_prcm.c +++ b/sys/arm/ti/am335x/am335x_prcm.c @@ -137,9 +137,12 @@ static struct resource_spec am335x_prcm_spec[] = { static struct am335x_prcm_softc *am335x_prcm_sc = NULL; +static int am335x_clk_noop_activate(struct ti_clock_dev *clkdev); static int am335x_clk_generic_activate(struct ti_clock_dev *clkdev); static int am335x_clk_gpio_activate(struct ti_clock_dev *clkdev); +static int am335x_clk_noop_deactivate(struct ti_clock_dev *clkdev); static int am335x_clk_generic_deactivate(struct ti_clock_dev *clkdev); +static int am335x_clk_noop_set_source(struct ti_clock_dev *clkdev, clk_src_t clksrc); static int am335x_clk_generic_set_source(struct ti_clock_dev *clkdev, clk_src_t clksrc); static int am335x_clk_hsmmc_get_source_freq(struct ti_clock_dev *clkdev, unsigned int *freq); static int am335x_clk_get_sysclk_freq(struct ti_clock_dev *clkdev, unsigned int *freq); @@ -152,7 +155,13 @@ static int am335x_clk_lcdc_activate(struct ti_clock_dev *clkdev); static int am335x_clk_pruss_activate(struct ti_clock_dev *clkdev); #define AM335X_NOOP_CLOCK_DEV(i) \ - { .id = (i) } + { .id = (i), \ + .clk_activate = am335x_clk_noop_activate, \ + .clk_deactivate = am335x_clk_noop_deactivate, \ + .clk_set_source = am335x_clk_noop_set_source, \ + .clk_accessible = NULL, \ + .clk_get_source_freq = NULL \ + } #define AM335X_GENERIC_CLOCK_DEV(i) \ { .id = (i), \ @@ -430,6 +439,13 @@ am335x_clk_details(clk_ident_t id) } static int +am335x_clk_noop_activate(struct ti_clock_dev *clkdev) +{ + + return (0); +} + +static int am335x_clk_generic_activate(struct ti_clock_dev *clkdev) { struct am335x_prcm_softc *sc = am335x_prcm_sc; @@ -476,6 +492,13 @@ am335x_clk_gpio_activate(struct ti_clock_dev *clkdev) } static int +am335x_clk_noop_deactivate(struct ti_clock_dev *clkdev) +{ + + return(0); +} + +static int am335x_clk_generic_deactivate(struct ti_clock_dev *clkdev) { struct am335x_prcm_softc *sc = am335x_prcm_sc; @@ -498,6 +521,13 @@ am335x_clk_generic_deactivate(struct ti_clock_dev *clkdev) } static int +am335x_clk_noop_set_source(struct ti_clock_dev *clkdev, clk_src_t clksrc) +{ + + return (0); +} + +static int am335x_clk_generic_set_source(struct ti_clock_dev *clkdev, clk_src_t clksrc) { struct am335x_prcm_softc *sc = am335x_prcm_sc; |