Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3410728imu; Thu, 29 Nov 2018 23:04:25 -0800 (PST) X-Google-Smtp-Source: AFSGD/VMHLBmWqaYAxVs3qUKfGh0eePPw6qbXW6kKZD2nhE82Cg9gI9h5NDyz5fJ+/ykzelS5DeB X-Received: by 2002:a62:59c9:: with SMTP id k70mr4447348pfj.243.1543561465079; Thu, 29 Nov 2018 23:04:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543561465; cv=none; d=google.com; s=arc-20160816; b=Am5b7G9dd9beBeIRQqh1b7uDlLZZsz2RTA5bg3U7VsxsTrKiiFJvw5B+QnTtj9QL6Q qD1GMR+tTRQsNQgARBwXZjyQhEI90ODkLR26VSlPYwoRL77abF2rzUxGr1H+QHxZ+aBc m+Y12ROEZeUvs5nLyxN0260jOyyEDsK9lGsnnyIzPJC4cmjRIt3JTRbXjmoSha2TSQto QpGOV7LA5zpJSKh+d3vmUqz2EXYcYt6VMibIIQ/eaXPcLFFo+XcnZnWs9F+h5Z9ckSjz j70yp3XztuWm3V7cpouqIPbEvwBwRzP7l5Sjrl20M6jm5pb424BaveHv+oe8yKIjzCTq p7LA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:subject:user-agent:message-id :references:cc:in-reply-to:from:to:content-transfer-encoding :mime-version:dkim-signature; bh=pNvNLAW3n+Ejw/gqq39jmIMR6vKdFhpYrfZ4kpsWk0U=; b=dmbaTRbFPKisT22VZ9rIklupwvQZGwk6dysZ23L7nq5Yso3+mg7m0aZIBRenuGQRv+ tOf7urGp5+Jz7RyVJVKw7gsDXFAC4KpvwLonp72GCv742wuIaHlm6dzDYyFulQAf8Ob/ Fm6uqjb38yJZX4DnOPphrEcdT2NokalxwE3hxkPzg8iDAmlLaoPfFz2M+9jvqLgP6a+5 cj1Aj4zi8N2ShscBA7FHHQPTMYXURkF3zfzw+TBQMgcQ4vMFQN4QEIn4jMOJ1mWBhu5c YPqpOY5wY8O54JnUZ2Hv9cgz9hBplFChCnkcnYrl7HHQjg7FWr3F+qPw8QSeVeGfLwzs LU/A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=06nqnrTf; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l10si4967961pls.162.2018.11.29.23.04.10; Thu, 29 Nov 2018 23:04:25 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=06nqnrTf; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726971AbeK3SLr (ORCPT + 99 others); Fri, 30 Nov 2018 13:11:47 -0500 Received: from mail.kernel.org ([198.145.29.99]:48544 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726410AbeK3SLr (ORCPT ); Fri, 30 Nov 2018 13:11:47 -0500 Received: from localhost (unknown [104.132.0.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id AC3A12145D; Fri, 30 Nov 2018 07:03:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543561408; bh=RkKCI7Pxt7bx3MBwO+HtfwrHSzsfYZtr5xl/nny+qBE=; h=To:From:In-Reply-To:Cc:References:Subject:Date:From; b=06nqnrTff+RccCtByMEXZoCjJlHmqOGCacHXWQ9tPpdybTG4HxGG+vgshuNOta7gX u5Fa1hxGSFZ/qPoDLzve73sou4Sfm28v/Bll6FTyJMiZtkMldq3DsnHUWC+Yfs/+Aw zoqrWbr+zYXyl/kryH3aQphSkNpkJ3QgELI2d9qk= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable To: Rob Herring From: Stephen Boyd In-Reply-To: Cc: Michael Turquette , "linux-kernel@vger.kernel.org" , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , linux-clk , linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, Matthias Brugger , Ryder Lee , Frank Rowand References: <20181106183609.207702-1-sboyd@kernel.org> <20181106183609.207702-2-sboyd@kernel.org> <154161585170.88331.1822872519370217248@swboyd.mtv.corp.google.com> <154353772392.88331.16937191244549721858@swboyd.mtv.corp.google.com> Message-ID: <154356140759.88331.15666344779026803117@swboyd.mtv.corp.google.com> User-Agent: alot/0.7 Subject: Re: [PATCH 1/4] of/device: Add a way to probe drivers by match data Date: Thu, 29 Nov 2018 23:03:27 -0800 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Rob Herring (2018-11-29 17:01:54) > On Thu, Nov 29, 2018 at 6:28 PM Stephen Boyd wrote: > > > > Quoting Stephen Boyd (2018-11-07 10:37:31) > > > appropriate structure with to_platform_device() or to_i2c_client()? > > > > > > So the example would become > > > > > > struct of_driver_probe_func { > > > int (*probe)(struct device *dev); > > > }; > > > > > > struct of_driver_probe_func mtk_probes[] =3D { > > > mtk_probe1, > > > mtk_probe2, > > > mtk_probe3, > > > }; > > > > > > struct platform_driver mtk_driver =3D { > > > .driver =3D { > > > .name =3D "mtk-foo"; > > > .of_match_table =3D mtk_match_table, > > > .of_probes =3D &mtk_probes; > > > }, > > > }; > > > > > > And the probe functions might need to container_of() the device point= er > > > to get the struct they know they need. The probe function could also = be > > > added to of_device_id and then we would have to look and see if that > > > pointer is populated when the device is matched in generic device cod= e. > > > > > > > I guess I'll go down the path of extending the of_device_id structure? > = > Unfortunately, I don't think you can change of_device_id as it's part > of the kernel ABI. Ok. Then I'll go down the path of making it a parallel array?