Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757538AbbGGOEw (ORCPT ); Tue, 7 Jul 2015 10:04:52 -0400 Received: from mail-pd0-f177.google.com ([209.85.192.177]:33339 "EHLO mail-pd0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757187AbbGGOEc (ORCPT ); Tue, 7 Jul 2015 10:04:32 -0400 Date: Tue, 7 Jul 2015 22:04:25 +0800 From: Leo Yan To: Jassi Brar Cc: Russell King , Michael Turquette , Linux Kernel Mailing List Subject: Re: Query: Clock driver requests mailbox channel Message-ID: <20150707140424.GA12992@leoy-linaro> References: <20150706113355.GA6967@leoy-linaro> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1777 Lines: 40 On Tue, Jul 07, 2015 at 10:54:55AM +0530, Jassi Brar wrote: > On Mon, Jul 6, 2015 at 5:03 PM, Leo Yan wrote: > > Hi all, > > > > i'm working with one clock driver, which will invoke mailbox API to > > request the mailbox channel and send message. > > > > Usually clock driver will init with devicetree, below is the example: > > CLK_OF_DECLARE(hi6220_clk_power, "hisilicon,hi6220-clock-power", > > hi6220_clk_power_init); > > > > Clock init function it will pass the pointer of struct device_node > > but not the pointer of struct device. So finally it's difficult to > > invoke mailbox API *mbox_request_channel()*, due it need use the > > struct device to search DT's property "mboxes". > > > > I want to find which is the best way to resolve this issue, so do you > > suggest clock driver to manually register one device? Or can we add > > one more API to request the mailbox channel directly with device_node? > > > IIUC, such clocks (that require platform resources) should be > populated from the platform_device's probe()? Thanks for response, Jassi. If we use general platform_device's probe() function, then we can smoothly to get device poiner. But if we use the method with CLK_OF_DECLARE, then i tried to get device pointer with the function of_find_device_by_node(), it will return the device pointer is NULL. But this is the common case in many clock drivers. So i just wander if can provide another mailbox API for this case, which will only need to pass device node pointer? Thanks, Leo Yan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/