From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752214AbdI2KPS (ORCPT ); Fri, 29 Sep 2017 06:15:18 -0400 Received: from mx0b-001ae601.pphosted.com ([67.231.152.168]:38166 "EHLO mx0b-001ae601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752120AbdI2KPP (ORCPT ); Fri, 29 Sep 2017 06:15:15 -0400 Authentication-Results: ppops.net; spf=none smtp.mailfrom=ckeepax@opensource.cirrus.com From: Charles Keepax To: CC: , , Subject: [PATCH 0/4] Add support for muxing individual pins Date: Fri, 29 Sep 2017 11:14:59 +0100 Message-ID: <20170929101503.6769-1-ckeepax@opensource.cirrus.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 Content-Type: text/plain X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000 definitions=main-1709290149 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series add support for muxing individual pins within pin mux, rather than just whole groups. Mainly, I had two motivations here, one to avoid the need to add loads of groups containing individual pins and hardware that actually has some internal concept of groups of pins, and disambiguating that from individual pin muxing. I have marked it as RFC to just get peoples opinions at this stage, although it should be pretty well tested. Sorry about the amount of files touched in patch 2 it would be possible to drop it from the chain although it leaves the field rather inaccurately named. Also I have left all the existing code paths parsing all mux options as groups from DT, and added a new helper to unlock the pin based functionality this should ease the transition across. Thanks, Charles Charles Keepax (4): pinctrl: Factor out individual pin handling from pinmux_pins_show pinctrl: Rename mux group to group_or_pin to prepare for pin support pinctrl: Add support for muxing individual pins pinctrl: Add support for parsing individual pinmux from DT drivers/pinctrl/bcm/pinctrl-bcm2835.c | 2 +- drivers/pinctrl/core.c | 26 ++- drivers/pinctrl/core.h | 3 +- drivers/pinctrl/freescale/pinctrl-imx.c | 5 +- drivers/pinctrl/freescale/pinctrl-imx1-core.c | 5 +- drivers/pinctrl/freescale/pinctrl-mxs.c | 4 +- drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 2 +- drivers/pinctrl/mvebu/pinctrl-mvebu.c | 2 +- drivers/pinctrl/nomadik/pinctrl-abx500.c | 2 +- drivers/pinctrl/nomadik/pinctrl-nomadik.c | 2 +- drivers/pinctrl/pinconf-generic.c | 30 ++- drivers/pinctrl/pinctrl-at91.c | 5 +- drivers/pinctrl/pinctrl-lantiq.c | 2 +- drivers/pinctrl/pinctrl-rockchip.c | 5 +- drivers/pinctrl/pinctrl-rza1.c | 2 +- drivers/pinctrl/pinctrl-single.c | 4 +- drivers/pinctrl/pinctrl-st.c | 2 +- drivers/pinctrl/pinctrl-tz1090-pdc.c | 2 +- drivers/pinctrl/pinctrl-tz1090.c | 2 +- drivers/pinctrl/pinctrl-utils.c | 10 +- drivers/pinctrl/pinctrl-utils.h | 14 +- drivers/pinctrl/pinmux.c | 311 ++++++++++++++++++-------- drivers/pinctrl/samsung/pinctrl-exynos5440.c | 4 +- drivers/pinctrl/samsung/pinctrl-samsung.c | 2 +- drivers/pinctrl/sh-pfc/pinctrl.c | 2 +- drivers/pinctrl/sirf/pinctrl-atlas7.c | 3 +- drivers/pinctrl/sirf/pinctrl-sirf.c | 2 +- drivers/pinctrl/spear/pinctrl-spear.c | 2 +- drivers/pinctrl/stm32/pinctrl-stm32.c | 2 +- drivers/pinctrl/sunxi/pinctrl-sunxi.c | 2 +- drivers/pinctrl/vt8500/pinctrl-wmt.c | 2 +- include/linux/pinctrl/machine.h | 3 +- include/linux/pinctrl/pinconf-generic.h | 24 +- include/linux/pinctrl/pinmux.h | 7 + 34 files changed, 338 insertions(+), 159 deletions(-) -- 2.11.0