[PATCH] [media] at91: add code to initialize and manage the ISI_MCK for Atmel ISI driver.

Russell King - ARM Linux linux at arm.linux.org.uk
Mon Sep 5 06:33:39 EDT 2011


On Mon, Sep 05, 2011 at 06:29:53PM +0800, Josh Wu wrote:
> +static int initialize_mck(struct atmel_isi *isi,
> +			struct isi_platform_data *pdata)
> +{
> +	int ret;
> +	struct clk *pck_parent;
> +
> +	if (!strlen(pdata->pck_name) || !strlen(pdata->pck_parent_name))
> +		return -EINVAL;
> +
> +	/* ISI_MCK is provided by PCK clock */
> +	isi->mck = clk_get(NULL, pdata->pck_name);

No, this is not how you use the clk API.  You do not pass clock names via
platform data.

You pass clk_get() the struct device.  You then pass clk_get() a
_connection id_ on that _device_ if you have more than one struct clk
associated with the _device_.  You then use clkdev to associate the
struct device plus the connection id with the appropriate struct clk.



More information about the linux-arm-kernel mailing list