Received: by 10.223.185.116 with SMTP id b49csp2758120wrg; Mon, 12 Feb 2018 15:26:23 -0800 (PST) X-Google-Smtp-Source: AH8x225+NTycn8wqffZkg00Mowq5BUn0kr+Fxa84OInRzAChia5u+y7lH6wkphjw9BSyeTPCMAT5 X-Received: by 10.99.175.3 with SMTP id w3mr10500294pge.328.1518477983455; Mon, 12 Feb 2018 15:26:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518477983; cv=none; d=google.com; s=arc-20160816; b=EvibQ5WyxzUVko4FrDrGO1MuFOsjHO99spQOTXbSand4AzxPa2tsYR2ttWv4q6vxP9 Cy4zqPHU/e49yzurWylJniUnPWwBDJ31FO2Ng+Di5vDvjOKStXtGR+KH3yLDAGzDF6Uw UvgtyweyBOVNiq1PD4ASHIUI3vXj6Gs2+i3l7WgT7NUR9KNsZVyA/sp/UfjnfT/wa334 vuqGCN8p3SVT1trbsBkibB+4vqYGpCC1Ux48gRzvcxFt4sjblB6v+E3Oc+8yZL0KyxeH IMhaynt5ny4syCHAWvpPQM64IVvdvOBu349sbSYq2+d+tJVvAhSSHXtfhVlZnvPTz+2I S4dA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:references:cc:to:from:subject:dkim-signature :arc-authentication-results; bh=LYYMlzeqQ+jxN27HwEbOolKMpJLRI4KnlCIeduCaXIY=; b=OyeHnDvhyi+z34blIa7Ov5N9p+gYt2yaaCEUPeXLngKsYK6B2VPllrKBUZ1tPMEnq/ 3ZfwwXxvBHwQ68m0wNzyHVH8178VYJG3Cl1NrAr/fyC4qoOPK6F++xNQ8jwa9zsVASq+ ECCJSRWalOBtUYxE0aubKzr3QQak/MdwRkz5lVcsxzyIyqfb+NuYK5F+ue4rnFgKZJWc +vzoTN5viRRmLMEan94iTA3CB0zTTn9ezuYqQ4NuXA1wAgoPetKYE9BSY3davlB4u/sD VO3OpYqIYWcNL+aAoqXy4NWVmabDEpX7r/eELJmwwVRYKbGhXejl7aQsSN4inKH09+LB S/jQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=qIzCxj8S; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i14si5690677pgp.516.2018.02.12.15.25.55; Mon, 12 Feb 2018 15:26:23 -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=@gmail.com header.s=20161025 header.b=qIzCxj8S; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932469AbeBLXY5 (ORCPT + 99 others); Mon, 12 Feb 2018 18:24:57 -0500 Received: from mail-pg0-f46.google.com ([74.125.83.46]:43046 "EHLO mail-pg0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932272AbeBLXY4 (ORCPT ); Mon, 12 Feb 2018 18:24:56 -0500 Received: by mail-pg0-f46.google.com with SMTP id f6so8546654pgs.10; Mon, 12 Feb 2018 15:24:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=LYYMlzeqQ+jxN27HwEbOolKMpJLRI4KnlCIeduCaXIY=; b=qIzCxj8SmHnv7zrMpOfDwLqMBhamwvZI6AWrT0oDK8Hhe5UihUXbRnW32vrzINukCP lw+J4EgDBjF9VA3g8LTeqoyyhbvKeuzSA7Bec8nQ7AGFuHdG4yIkNNn1FrhIIyNgrv2C pOu+mYNkblk0omnL6UZu1UWmSuOLSs57ISlMImSR2SCAhWU5Z186mhZ23CMPLUqRCVj/ 12dpSRFMS//+A4Gi4rn1LOj/+I6FFESqPvehbjevbDdhCQMCsuboDBy7BRsMtHS2gSiC rlhVwo6D+1UUIcW4aNaH7Xc7DYr0mMAm5gvYM6aRNviAmaQU790UNoCoL4G5Ycb0NeYK FaAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=LYYMlzeqQ+jxN27HwEbOolKMpJLRI4KnlCIeduCaXIY=; b=UXJVmP+Rvx5yMOsLOjsTCRg3Rx9dCmORUsJWRlLtXa/alxbs7FXm74iK5okz+1yWGO CG4CBpklp0SJ6d5xDOtKGwk7yIPrW1JCxrIbtjtCQDs/mO64ljqTzsj8dmVMT8WOM67w LqRQfXQ0H01M3YSN5ExT/DpLpU4dtEg0MK8f4qsG+aQB+amEveOg+x4ODLm5PV0Ux6GV 7jiiChw+fncO5Yl4MP/0Dk8Q93j6HItQbYe6+DUp1nniO4uTds/XQwObtcYwDdfEgcfc xKm4nLgANBEDeDTJRjqyBS7diI4ypdab5tOuCR87ad2wlgOyz0aAg2kMkwzB/a8XL1D8 Fdjw== X-Gm-Message-State: APf1xPAgzEWDZlFhZNMkNnGOMZZNWf5ejRWVNn1JytCvjYYgA3PJja98 7+bUep/LyB15EmPqSRICpkk= X-Received: by 10.98.102.212 with SMTP id s81mr12999154pfj.209.1518477895566; Mon, 12 Feb 2018 15:24:55 -0800 (PST) Received: from [192.168.1.70] (c-73-93-215-6.hsd1.ca.comcast.net. [73.93.215.6]) by smtp.gmail.com with ESMTPSA id o2sm25736146pgq.87.2018.02.12.15.24.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Feb 2018 15:24:55 -0800 (PST) Subject: Re: RFC: build config via DT names From: Frank Rowand To: "Enrico Weigelt, metux IT consult" Cc: linux-kernel@vger.kernel.org, "devicetree@vger.kernel.org" References: <63f25fea-f163-f9cc-b5b2-f6f291d7f8d2@gmx.de> Message-ID: <52140da5-0d49-c861-d752-8de9e4927380@gmail.com> Date: Mon, 12 Feb 2018 15:24:54 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Enrico, On 02/12/18 15:13, Frank Rowand wrote: > + devicetree mail list > > On 02/10/18 07:52, Enrico Weigelt, metux IT consult wrote: >> Hi folks, >> >> I've regularily have the task of configuring a kernel for a given DT. >> To make this a little bit easier, I'd like to do this automatically. >> >> The tuff task here is getting a mapping between dt compatible strings >> and corresponding CONFIG_* flags. Automatically extracting it from the >> source code seems pretty tricky, especially w/ corner cases (eg. some >> drivers support groups of devices, depending on config options) - IMHO >> it will need some code changes anyways. >> >> Therefore I propose a simple approach using the existing Kconfig system: >> >> Add an extra (toplevel) menu and config flag naming scheme which >> directly map DT compatible strings to config flags. For example: >> >>> fsl,mpc5200-gpio <=> CONFIG_DTDEV_FSL_MPC5200_GPIO >> >>> config CONFIG_DTDEV_FSL_MPC5200_GPIO >>>     tristate "fsl,mpc5200-gpio" >>>     select GPIO_MPC5200 >> >> Note that these flags are separate from the actual drivers - they just >> enable them automatically. Of course they'll have to be maintained by >> the driver maintainers. >> >> >> What do you think about this idea ? >> >> >> --mtx As you note, it can be quite tricky getting the correct kernel configuration for a given devicetree. There is a tool to aid this process: scripts/dtc/dt_to_config. It is not a 100% solution, but it is very helpful. The problem is difficult enough that this tool led to a conference talk. The slides are at https://elinux.org/images/5/50/Dt_debugging_part_2.pdf which is linked to from https://elinux.org/Device_Tree_presentations_papers_articles#linux_kernel_configuration dt_to_config and configuration issues are discussed in slides 33 - 80. -Frank