From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) (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 8344E3947B5 for ; Sat, 4 Jul 2026 05:58:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783144691; cv=none; b=qNvHxoKx5XqAUpZcUNDV1juW6f7/v0r5E6B20dkkUwj9ai1skIUl1YaE3jVNm9lEagJH71S5AocoW6CK5kCy0MjtM7HYk+p3f6j5jSgaZkXesCEve37hprCP9Kusw0VPYK/IuB6meQ5OB3NkYWjB44onDDuh2RfINTikYsGiedA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783144691; c=relaxed/simple; bh=6EzURDVZSteYdlzW0VQHcWCyhb9aa+OxMVVJplZpIQ8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uJ897wswI8Cj5BaWWCdPdG4xqMfPye6t8eqM7W/RD+WUlhg1kTEVoA/11MrsQ1Vv2D1MB1O1KhOZXM7xuJ8pl6OAm5l8N8GWx1moKDhF7fst3vtmSpcIQYMAyOae0685YobtuInroIk6E2lWPXR7r3zBmg6vsxpz1HbG6Ko7Tl4= 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=IP46HLvL; arc=none smtp.client-ip=209.85.216.51 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="IP46HLvL" Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-37d82f3a244so1306625a91.2 for ; Fri, 03 Jul 2026 22:58:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783144690; x=1783749490; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=odQ5XDRk/imIwJvcMYJydfLsPk2M2zgv/XPdgoTp5mQ=; b=IP46HLvL7nILQMse1iD53aqLSbSXJIea+uEgLok0G335qURq4K0CyyzIBdgpNzvAZV wEb2xz989aAMx1AignNq9YUdZ7+2FeykboP9cF3Qe4V3kQW3iIszlJHf0wbIK9u3iCyF e23ABRxGPvzaCnJXFiVVER5tR5KEVKOghb6Tj2w3NA9Yjr7HOAqx5V6FH8cYYU2TFSpb VpIsME1ZqdiC5eaeJK7M28DNtTlrpbwUzMFzmN9yB75ZGx9yD/V5wJ0Cf0q2muZlOzRI mIZ5zxeZqiD0M8GI+ggF2WTYii0Vpd+yL8mpbjiLw0uIHyJuy7SRdetCcvFw0HHSxnxr 0/sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783144690; x=1783749490; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=odQ5XDRk/imIwJvcMYJydfLsPk2M2zgv/XPdgoTp5mQ=; b=J7qHktf2hnOsm8GHQiVWKxk9OpBq+L9FrL9dSW2fyRcsbUuafxwrLLKF8jtxrjD+y3 mQ5J+ButL+MSjuGl1hZpuNV4P722ZtCXeHmGxS0xTYzheF1zZsAuy9bX86xeYtiHMLxc Yx7ie5fgUHv/bO95YGUkaB62WK6sM90mbW6tkPHem+k3IbWw+s1nmpCepkij5FkzFPhq xaup+VV1aM3h/Ur5pQLrItYaYchYt7M9pk13G0HAhmTx2SGXXJsKGPpOcbckHlD8Hc81 KbMJDX8xvCVttcbxiKsMOPSRF3NOfk4c/A9lBVJs31C2VVWe0Qa5nIwGUvdUJKsOooM2 +AiQ== X-Forwarded-Encrypted: i=1; AHgh+Rpm6UeAYq0sQQQcyx4ZTVoy5tVj15Pxj823ZfbOtoJNOWXjHNEf7v9RH/NCFlXpJfM9/EThWD+Mam9ScN8=@vger.kernel.org X-Gm-Message-State: AOJu0Yw6GYFZ2wpZq7myfGQwNa+1M2Q6NzjaQ3YwsL/tTweb447RtwlG a8tZVzGLB7HZgFvAYtePnADTKOHVPsQ8nyK49K9C/babczi3+FiNau+10sEUJw== X-Gm-Gg: AfdE7clgdTgj/5XPggQIOhjuLxBVJOI9sEG1ThSPrAisHQkUyZAZwixxPg88cmucGQr C4heF/QXmPNrfCcCjOuX/GpA+DPKR7LqCmASRhG9svYgWCdVh2NFIh+1uzod1dYCr4sa82OxTgS 9CMBo+OJjjxjKAgCJahTMNtxk5rkb7Dg5yjwFCxk3yTYBGa80bsaqZNRpX0+iOzdbuJooXhqUA8 i0ynXdqsCkgY8DzDO8J4lPltZQZcyzPyG7Dy4oaV/9QTI2DrFN8FpQzLFWuXqkqwvVk7V9ej+gx mUel+X36z1iQC9d6SwiGQD+JfuTqCNei9NlV+jmK9KmYTrAMWkiQ8s88oW1P3l3j3FV2zHakWaY kA1xjrPm4oqKzVa4TL2KTw0YxY6pnhs3zO1nFuP8xPe1ZCOQDJXRCgA4yIGyGZfGQW2eQGdmFaP 70XKj+Qup0CqvN3/YvPyDg5qEBf3zGmgokVwsZlZJJs+Kk9GveplikM7Uul1gK59DEWVQx2UamE 800NJLAZj5hfw== X-Received: by 2002:a17:90b:3b8a:b0:380:9d0d:7ade with SMTP id 98e67ed59e1d1-3825c50c9cbmr2507478a91.0.1783144689694; Fri, 03 Jul 2026 22:58:09 -0700 (PDT) Received: from dtor-ws.sjc.corp.google.com ([2a00:79e0:2ebe:8:880:86f9:3b00:6746]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30f0b813cd9sm26262412eec.8.2026.07.03.22.58.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Jul 2026 22:58:09 -0700 (PDT) From: Dmitry Torokhov Date: Fri, 03 Jul 2026 22:57:45 -0700 Subject: [PATCH 22/26] Input: maplecontrol - convert to devm Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260703-b4-maple-cleanup-v1-22-41e424964da5@gmail.com> References: <20260703-b4-maple-cleanup-v1-0-41e424964da5@gmail.com> In-Reply-To: <20260703-b4-maple-cleanup-v1-0-41e424964da5@gmail.com> To: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Yoshinori Sato , Rich Felker , John Paul Adrian Glaubitz Cc: Florian Fuchs , Adrian McMenamin , linux-kernel@vger.kernel.org, Dmitry Torokhov , linux-input@vger.kernel.org, linux-mtd@lists.infradead.org, linux-sh@vger.kernel.org X-Mailer: b4 0.16-dev-6911d Convert the driver to use managed resources to simplify resource lifecycle management. This eliminates manual error handling in probe() and allows removing the remove() callback entirely, as all cleanup is handled automatically. Assisted-by: Antigravity:gemini-3.5-flash Signed-off-by: Dmitry Torokhov --- drivers/input/joystick/maplecontrol.c | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/drivers/input/joystick/maplecontrol.c b/drivers/input/joystick/maplecontrol.c index 6864243b0b4a..3ef6652d40cb 100644 --- a/drivers/input/joystick/maplecontrol.c +++ b/drivers/input/joystick/maplecontrol.c @@ -99,12 +99,13 @@ static int probe_maple_controller(struct maple_device *mdev) struct input_dev *idev; unsigned long data = be32_to_cpu(mdev->devinfo.function_data[0]); - pad = kzalloc_obj(*pad); - idev = input_allocate_device(); - if (!pad || !idev) { - error = -ENOMEM; - goto fail; - } + pad = devm_kzalloc(&mdev->dev, sizeof(*pad), GFP_KERNEL); + if (!pad) + return -ENOMEM; + + idev = devm_input_allocate_device(&mdev->dev); + if (!idev) + return -ENOMEM; pad->dev = idev; pad->mdev = mdev; @@ -129,33 +130,20 @@ static int probe_maple_controller(struct maple_device *mdev) if (idev->keybit[BIT_WORD(BTN_JOYSTICK)]) idev->evbit[0] |= BIT_MASK(EV_KEY); - idev->dev.parent = &mdev->dev; idev->name = mdev->product_name; idev->id.bustype = BUS_HOST; error = input_register_device(idev); if (error) - goto fail; - return 0; + return error; -fail: - input_free_device(idev); - kfree(pad); - return error; -} - -static void remove_maple_controller(struct maple_device *mdev) -{ - struct dc_pad *pad = maple_get_drvdata(mdev); + return 0; - input_unregister_device(pad->dev); - kfree(pad); } static struct maple_driver dc_pad_driver = { .function = MAPLE_FUNC_CONTROLLER, .probe = probe_maple_controller, - .remove = remove_maple_controller, .drv = { .name = "Dreamcast_controller", }, -- 2.55.0.rc0.799.gd6f94ed593-goog