From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3BA19C3DA42 for ; Mon, 8 Jul 2024 07:16:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=NSr6W9+kIBrExV7rAUXxvmIpCII4LVhMfKMFiF1UZnE=; b=qnzRw3naMJt9/4iLe2Ctx7XPXd TXguv8g03kDytDAIk21aPCjA3MwAyHAfCSP9DQvdsPe+0s1Vw3hFy7TSe3iKcJ+RN0GlAnKNwskg8 SNPFyr//rVDKYRaAYoEUOvkg61iss5+QuNDWKzLPawmBLT8pVrEu7OxFvwcNgU/A+3/mHEmvFWhfa zwKEGf50UySR/nzDbwf5DIzAKGZb/1jSicWZYdl580R0uHwljDQA6GtxLmGVauHPgOcIRPsfe+MJj uhqXNlSDZF/QR1pjxa07iBxChxlqgHnaV3traYrmFQ+82R29Vr6mis3w0+2OLXJ/5QwRqRFiG/pk2 huPtE3xw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sQic8-000000030MB-0ty6; Mon, 08 Jul 2024 07:16:44 +0000 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sQibZ-000000030Ae-47Mh for linux-arm-kernel@lists.infradead.org; Mon, 08 Jul 2024 07:16:11 +0000 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-367ab50a07aso1704956f8f.0 for ; Mon, 08 Jul 2024 00:16:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720422968; x=1721027768; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NSr6W9+kIBrExV7rAUXxvmIpCII4LVhMfKMFiF1UZnE=; b=F70ylvaCQrtY9CzXnGu22GTj+rzti9QeSJkXSWHuMiiNBvN1N1frmjZfO9pz0h/+zB UFSqkhB7JLck94PWixRj0QW0p+2Lb/IWHrWcHlV+BMWoR+m/DPAzYWLrFnTVrptM/J8M zxbcaD73n05CtImJa0Sr3KaVwlZdsLNPAWPR5OGHZ9F8opS4fTKd9DOL1kEaqtVeiqtu X2c7q0/6f7+NFaaJTmcZly5gJkjCfkpihhuMZVNhMtHdExSWlkNlwOmDy9dtXR7KuNRn wt1m1MjaIoMNyOwfv6zl5NfbJsXb/2viVqSKRp7puBsWPZaI45OmhbNXqYcJA1c1mQqT RcvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720422968; x=1721027768; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NSr6W9+kIBrExV7rAUXxvmIpCII4LVhMfKMFiF1UZnE=; b=ovLLWvu8Tftet5R+O+kLrxj311XepKqIlEIqSP0agzeTF4qZYDlGn90qz3Dv1gENQh 7pHLI3xidsvylCE5gOfDmDql9uWvNn/zezYTHVNxOWJUNKFgYC/K0P57vlcaMPIMOhN0 q5ltmlD5BWbOKod8C7GoOFZEwtkQdTleQG4G0DxVaijCBluRfZqX5bdRK8MBhI8LTMeN 4vP1AkvI51AafBe29WIQi0WQIz19YxNKJjOmMX2vprwWB1N9TvGIsYF5r6D5UU79iyKS PnvgjlCaJ+US9EhTt0IK9IOCEllM+pMdSzBYe7SHLPaMzth9HqAEcvuxZs0l+ieD1VUh MD8A== X-Forwarded-Encrypted: i=1; AJvYcCWwM7d/DqgLZkYA2/iuaap49m0CwGTM+ahNXjNFTqJ8/cXqYW41XVGs6EewQ3YjIFAVi0yRcgfv7jRF746qOO0i7bxXElULyL7eP+nAUNRgmhCZDrg= X-Gm-Message-State: AOJu0YxaKC7W7hXm2SxdRydRmiVSvyCTGK9og4rEaaAaUYFmzwE1O8sg ri8LSOVdI/eht1RvXiCGhURN/6rGJ2yUqJx4ILY+TE8bfmyXVzNN X-Google-Smtp-Source: AGHT+IHrzhQu0plLHQSnW6EQAbhlLdpaa6G8qkl7Pllj+JcKaF9nRXS7gqQjM6Ofo0NmYv4Ov37Elw== X-Received: by 2002:adf:ecd2:0:b0:35f:1dce:8671 with SMTP id ffacd0b85a97d-3679dd29926mr7019361f8f.25.1720422968305; Mon, 08 Jul 2024 00:16:08 -0700 (PDT) Received: from eichest-laptop.toradex.int ([2a02:168:af72:0:a786:d603:1c55:ced1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3679dd5ea09sm9994564f8f.65.2024.07.08.00.16.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Jul 2024 00:16:07 -0700 (PDT) From: Stefan Eichenberger To: nick@shmanahar.org, dmitry.torokhov@gmail.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, claudiu.beznea@tuxon.dev, linus.walleij@linaro.org, francesco.dolcini@toradex.com, joao.goncalves@toradex.com Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Stefan Eichenberger Subject: [PATCH v5 2/4] Input: atmel_mxt_ts - move calls to register the input device to separate function Date: Mon, 8 Jul 2024 09:15:49 +0200 Message-ID: <20240708071601.7571-3-eichest@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240708071601.7571-1-eichest@gmail.com> References: <20240708071601.7571-1-eichest@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240708_001610_045926_4E70DF90 X-CRM114-Status: GOOD ( 17.83 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Stefan Eichenberger The calls to register the input device are moved to a separate function so that we can call it without having to confiugre the device. This is necessary if we want to power on the device only when it is opened. Signed-off-by: Stefan Eichenberger Reviewed-by: Joao Paulo Goncalves --- drivers/input/touchscreen/atmel_mxt_ts.c | 34 +++++++++++++++++------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c index 4fc83a4cabd9b..85f3c685bf526 100644 --- a/drivers/input/touchscreen/atmel_mxt_ts.c +++ b/drivers/input/touchscreen/atmel_mxt_ts.c @@ -2277,6 +2277,28 @@ static void mxt_config_cb(const struct firmware *cfg, void *ctx) release_firmware(cfg); } +static void mxt_debug_init(struct mxt_data *data); + +static int mxt_device_register(struct mxt_data *data) +{ + int error; + + /* If input device is not already registered */ + if (!data->input_dev) { + if (data->multitouch) { + error = mxt_initialize_input_device(data); + if (error) + return error; + } else { + dev_warn(&data->client->dev, "No touch object detected\n"); + } + + mxt_debug_init(data); + } + + return 0; +} + static int mxt_initialize(struct mxt_data *data) { struct i2c_client *client = data->client; @@ -2831,15 +2853,9 @@ static int mxt_configure_objects(struct mxt_data *data, dev_warn(dev, "Error %d updating config\n", error); } - if (data->multitouch) { - error = mxt_initialize_input_device(data); - if (error) - return error; - } else { - dev_warn(dev, "No touch object detected\n"); - } - - mxt_debug_init(data); + error = mxt_device_register(data); + if (error) + return error; return 0; } -- 2.43.0