From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 461C33C0637 for ; Fri, 24 Jul 2026 23:35:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784936107; cv=none; b=csn7sNjcGXsNKmEhQ8ma9X+gplYSGQ/q/ytedlKeEL+42TN32I+bJEtfmYWetIspKhgiUV9x5z4/++weBGhtbYO1a7z5o3xGU2VuM4xyu1NRcryq+UlozbBFDPCRsb7nhVzF5C40+x7ABQFr35akkKdOuk+JksmJCDJHSJPHe/I= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784936107; c=relaxed/simple; bh=dXMIxjXjmxxXQstTQm3Ckd0xFmG0qWHwHchTz7R80v4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lpDw5kxcmss7+c0amqAy7noPzIGFePCBunTLwaQmDekUUUlqvUT/yl7bC3VJP2iG87z36V00B4zekF7wTKRjKrOlfTJhuKRcYDA+lnrNtrWn/LsPyk60sJ8umxNs3FfdEdfuUAUQ1niLBt3GdftdZ9C3X6eMKOK6O5dPIVZOfFU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=IBvCbfsj; arc=none smtp.client-ip=209.85.214.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IBvCbfsj" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2ceaf8a1265so12607935ad.2 for ; Fri, 24 Jul 2026 16:35:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784936106; x=1785540906; darn=vger.kernel.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:content-type; bh=l/NhkTg0a3A8bbWIDY7lGJm4c2N5hYTi0tSxfBMW/aU=; b=IBvCbfsjl54Dx36TF6Fj/YAYuYkI0M8ePgXJPTbeJ8ixlObg9hiwaxWz8Tm8w58Ch4 8LGL45V3dGjFEXEmYfv4oaYOiz8yI3Q/PCwLvFwGTlL855wIkrq2+l9NCa2Q2tsLNqsS aKuTvgaDt0/Pt2zL09vtTrfgtAvl1Ngkr0qv+CZ1F7Ps2mSHEsZdUzuf6+NY8I6FmAff wtcaQx7SerozXsoTrkkmQVw2/El++DnH0Kniimdw85zLJ7h1QBgZ/eNe/rUUFywcCIGj xnnUzNus5gIsbal0NDerAY9Bcfr2CT2oHIkLN9pmXnWvd1NvGLpd5bHT9SYVs9IxG7WO 1Fpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784936106; x=1785540906; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=l/NhkTg0a3A8bbWIDY7lGJm4c2N5hYTi0tSxfBMW/aU=; b=KU5BNCe1YrRHDfM7Xsf9M7GRDxsKK4/WSvHLWTj5nNXG/hmItHTBTt3lGk7N6+uItM fEU0aDSpETrLi5+Z+Bz4i69mAqP+/l+H3zs8vxLklt1ig8rBRo9fN30tMWWlzKjB+X9g sumfDoNfHpmu3oXS1yKgDwWhxuAQj9BAfuTzjfkTqh1SsUt3IZNGjpmDml9ugYVoXAPq l0FvwC6yu8yViOO7Zgwp0xsMJvNhZ1/qatsg40f3rQeHfNRr6NPdNACFwlVcmXNlRjLH 2kgqufEjkD4cnRwzP5eJVhIX/D5SedFPPMACPT4G2E3viCWtxZrIUiDXJ5Dn5l/fy8UI TQfA== X-Forwarded-Encrypted: i=1; AHgh+Rr5qQZqLrJtzq/GRaRIrVCzRcNYPysV5AZCcBlB1OVN0C8TL4p5CXpDOWqt03vxGQJ0HfkWQ5/UKIUYZ8o=@vger.kernel.org X-Gm-Message-State: AOJu0YwuIzJkkgkL4KjaNiHQXRbonZsto0aKTSboI40V9HQopWOtSqdC 3PYFOLQoFbo1ctEfopOBtPIAMD1eTGZf6V5vqNQ8qILpWWcoDJ7fH3BX X-Gm-Gg: AR+sD13cHZ4mzUlE/HvAkVbiujOoKcYrhbo7LMat8MNh9Gb1WEYEsQv8jde8EbzKZ/O UW8cvKszNyvEQImgMkW07hZTdwP3GrqNtZM+AC9vi8/4PsraRaAQkijAhXG4NMCZh1r4Um/jMx9 4wQ1UJGipjiox/He2c0AcIUVeq+a5j9IDv4JhooKI6zUXfa96LG6rFunTpyHRaiSvUEo2W3cx8e WSVKImj9HCdQFlDaFrXg0y0giAzJa8ZHvOTmuyM//Z8EghG9r9mZXCOSM8zo1Adiae+5wrjJIPv RY/LyK/eJI5+J57+PmYC1PzpiVxgsJlIBT6+OQ0Kz3P3IwCkoosfaePDKMoSj/c61cM+ndX2sJ0 E++VXKRqe9yeHT1a+LIDFM4xCjYzaxezy0y+LK0mhh1K8vOsfcIpWIYf/T9RrIwiayxVJuVV8r4 AD/+maId6GF7Yfr+T08iXJ5hA2t47yzxYtjVUlvxtvvive30Wyk7OP4JCrN0ygpv0DyQ== X-Received: by 2002:a05:6a20:4305:b0:3c3:8aa8:6caf with SMTP id adf61e73a8af0-3c67dd8a496mr347939637.27.1784936105616; Fri, 24 Jul 2026 16:35:05 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2a00:79e0:2ebe:8:40e1:40e4:dabe:543e]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-314bc548e63sm3361657eec.19.2026.07.24.16.34.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jul 2026 16:34:57 -0700 (PDT) From: Dmitry Torokhov To: Jarkko Nikula , Sen Wang , Liam Girdwood , Mark Brown Cc: Jaroslav Kysela , Takashi Iwai , linux-sound@vger.kernel.org, linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] ASoC: ti: omap-twl4030: use per-device instance of headset jack gpio Date: Fri, 24 Jul 2026 16:34:30 -0700 Message-ID: <20260724233432.31325-2-dmitry.torokhov@gmail.com> X-Mailer: git-send-email 2.55.0.229.g6434b31f56-goog In-Reply-To: <20260724233432.31325-1-dmitry.torokhov@gmail.com> References: <20260724233432.31325-1-dmitry.torokhov@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit hs_jack_gpios is being potentially shared among several instances of the same device, and is being modified. This is not the best approach to structuring the code (even if the device is in fact a singleton). Change it to allocate a per-device instance. Signed-off-by: Dmitry Torokhov --- sound/soc/ti/omap-twl4030.c | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/sound/soc/ti/omap-twl4030.c b/sound/soc/ti/omap-twl4030.c index 950879fc7275..4abcfff04bc7 100644 --- a/sound/soc/ti/omap-twl4030.c +++ b/sound/soc/ti/omap-twl4030.c @@ -28,6 +28,7 @@ #include "omap-mcbsp.h" struct omap_twl4030 { + struct snd_soc_jack_gpio hs_jack_gpio; struct snd_soc_jack hs_jack; }; @@ -123,15 +124,6 @@ static struct snd_soc_jack_pin hs_jack_pins[] = { }, }; -/* Headset jack detection gpios */ -static struct snd_soc_jack_gpio hs_jack_gpios[] = { - { - .name = "ti,jack-det", - .report = SND_JACK_HEADSET, - .debounce_time = 200, - }, -}; - static int omap_twl4030_init(struct snd_soc_pcm_runtime *rtd) { struct snd_soc_card *card = rtd->card; @@ -144,9 +136,6 @@ static int omap_twl4030_init(struct snd_soc_pcm_runtime *rtd) * only want to add the jack detection if the GPIO is there. */ if (of_property_present(card->dev->of_node, "ti,jack-det-gpio")) { - hs_jack_gpios[0].gpiod_dev = card->dev; - hs_jack_gpios[0].idx = 0; - ret = snd_soc_card_jack_new_pins(rtd->card, "Headset Jack", SND_JACK_HEADSET, &priv->hs_jack, hs_jack_pins, @@ -154,9 +143,14 @@ static int omap_twl4030_init(struct snd_soc_pcm_runtime *rtd) if (ret) return ret; - ret = snd_soc_jack_add_gpios(&priv->hs_jack, - ARRAY_SIZE(hs_jack_gpios), - hs_jack_gpios); + priv->hs_jack_gpio.name = "ti,jack-det"; + priv->hs_jack_gpio.report = SND_JACK_HEADSET; + priv->hs_jack_gpio.debounce_time = 200; + priv->hs_jack_gpio.gpiod_dev = card->dev; + priv->hs_jack_gpio.idx = 0; + + ret = snd_soc_jack_add_gpios(&priv->hs_jack, 1, + &priv->hs_jack_gpio); if (ret) return ret; } -- 2.55.0.229.g6434b31f56-goog