From a5969cabbb4660eab42b6ef0412cbbd1200cf14d Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Sat, 12 Oct 2024 07:10:09 +0000 Subject: [PATCH] 修改led为gpio --- kernel/drivers/i2c/muxes/i2c-mux-pinctrl.c | 18 +++--------------- 1 files changed, 3 insertions(+), 15 deletions(-) diff --git a/kernel/drivers/i2c/muxes/i2c-mux-pinctrl.c b/kernel/drivers/i2c/muxes/i2c-mux-pinctrl.c index cc6818a..f1bb00a 100644 --- a/kernel/drivers/i2c/muxes/i2c-mux-pinctrl.c +++ b/kernel/drivers/i2c/muxes/i2c-mux-pinctrl.c @@ -1,19 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * I2C multiplexer using pinctrl API * * Copyright (c) 2012, NVIDIA CORPORATION. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License, - * version 2, as published by the Free Software Foundation. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <linux/i2c.h> @@ -27,7 +16,7 @@ struct i2c_mux_pinctrl { struct pinctrl *pinctrl; - struct pinctrl_state **states; + struct pinctrl_state *states[]; }; static int i2c_mux_pinctrl_select(struct i2c_mux_core *muxc, u32 chan) @@ -104,14 +93,13 @@ return PTR_ERR(parent); muxc = i2c_mux_alloc(parent, dev, num_names, - sizeof(*mux) + num_names * sizeof(*mux->states), + struct_size(mux, states, num_names), 0, i2c_mux_pinctrl_select, NULL); if (!muxc) { ret = -ENOMEM; goto err_put_parent; } mux = i2c_mux_priv(muxc); - mux->states = (struct pinctrl_state **)(mux + 1); platform_set_drvdata(pdev, muxc); -- Gitblit v1.6.2