From nobody Sat Jun 13 02:56:19 2026 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (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 6C5B33D9DCE for ; Mon, 11 May 2026 10:45:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778496329; cv=none; b=VmghXsxigTiJp4fBqD4scOg2qP7kfbS+UYsgaQTsdftzMWAOPX2p7gF9dvaGMnRacq12ZgN2oYHdNRNJ7/tdgJNS5VVx8Wl/s5q/j03MJYYNp1M1NV5BGLaXxhtNWbe6pGcO9cimllUeR6AJuCN3NI8XkCfZiMJMJ8sT6akbFDI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778496329; c=relaxed/simple; bh=7Fb7gRlK9+DQznhHXVa9Lj5oly00fA+a3//pDOX4BMM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ooHrYJp1PJxeyVcc6CjBiPfQgn2MWKSeKcutjgBxGDaE57Fo1zCwf2XuN/3jd6dPuNujE+wO6T3PmYnZKm3mixEpTsL/W8L3XI1qPWhJQK9w7irrMt2DsjlVe6rSFZWCFf+sONbig5ePVBTKiPBqu5XXiLEBWFsukMoFd73BmVo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20251104.gappssmtp.com header.i=@baylibre-com.20251104.gappssmtp.com header.b=0W5Mfm88; arc=none smtp.client-ip=209.85.128.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20251104.gappssmtp.com header.i=@baylibre-com.20251104.gappssmtp.com header.b="0W5Mfm88" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-488ad135063so33057915e9.0 for ; Mon, 11 May 2026 03:45:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1778496326; x=1779101126; 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; bh=gM6sTJtkORo6AhXXjWIf/WzX0WlvY9Be6RoWfTLlcx0=; b=0W5Mfm88xDGAVbDI5YvvwQ/vpyv+XiG8Va+2kO9LFOGbvJ1RJ1gNLcuMp/bM524Xm/ NJ9EdxAfemd7l5rG2pUv+RKGlYuUQNwjP/McZ0nCuggVOoXGVjXV6lPJuMBw0hunf+Ma qYNAq/g1bad+uB86ca+8xwkVmjJvWwIf9lAlAycCiZaugzRpqdSfO6RGYxJlJfh05kzc mAJeilPlCYyF6VFPuu1yjzQcX2KpFQ//1qIJWYC2t/nxV701HANAhghB0FHlp3I64ugA KDZ/idYaT8z09ZwTPZAfg55rvdVuL1ZgrFgysh5NxrJJkTabFUb6DF+zN6LN+5NVlH72 W3Xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778496326; x=1779101126; 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; bh=gM6sTJtkORo6AhXXjWIf/WzX0WlvY9Be6RoWfTLlcx0=; b=gnKxVicvNhe8ijfx8dQ8DeLcVHPuGHF4niHVsUtvBzyxU+xEGsEok6urJ1yne0wR3V UFcSZqCi+DIwQm1rU7d8JllgqJTXV6rvtWAX3JoZVqVruFiOMGZeKURm/sSfgY1+KfAx QM/yFa2M7Fo4bupa7uoBRXIpOpQGLPfO/F6Ndjr+OzWEu2s8XbgVu5XoAmvmhF7fuFch zUBjVNY/2sAvfarG/x1R5/bcarpE13tnOP7PN59p1e5DJtVCtv+R7d+cb0CSLpNDWQ/N t8CkEjVRQBoJEZDQBdFW6K5q/eJ7G9dMF/FHgy0XPV4RnJYCuFfEU+nigYOfMBhnG5SB 6jrQ== X-Forwarded-Encrypted: i=1; AFNElJ/BNTwopjJqa9982ufP/0tTsDyMsfz5w2XEFyjeVWGrJPlUPxJxQO9p5b3qKGY5GpjMBJwKuwKFVPGBxGw=@vger.kernel.org X-Gm-Message-State: AOJu0YzLo1Dt9tj0SRz57AAuyHN+wNF5bGqm+RNGSIOlHyHA02DsQWrz XP0U976Om1fhGwVT2VqZMaysxSVOiOaGrf/F2YIQwN+QgfrzYQpVbuwMp510suUCG/0= X-Gm-Gg: Acq92OFwIuNa3ppn/JKsC/PDgFUka6wayPoKedp3e3Vy649VhTjK3mAvLrxfVaFeaeR c1GgQ/B0Vhjj8mLLV5/MJxrKI4A+4aB1vYStrLeAp1ys82t1M3PC9BjV838EyNDfCLyNPLHviIw Jfpq8jZxt43i+YfASnEeWNlW54NBVghqSXQOd/q+j9ntOLzxQBpZSxXIezVUBzVXaeErDQoscGQ 7+VyDHt15sFcCPjPHzOOTiUwvM6uQsSsHmrpcOJbeuqAobXIR1xM0NPWY9nhiOjmXdMPWkaPjos uduVY/tgAGtz443yflJKCSU175FwdXSYvV6TmWQOf/OlMj8m3HBYCtqcCaOopFIxamGLu+XKylB 2cI4F6JySibf/rveJFmUBpL1p8bATTCvfUMAXOOFg0n9bK5OEg/ib/pv6GZp6RTduhV6Aub5XFe WjOCmP9JOKLW24TNhSz1w0slN49uIdb0WMyMdsea9dkK+Or/n7LYeoj0CNw8ZLtHZEgHcTid4mA CViOz+7YjBApjTz7Ma3E43O3u/wxMZACAlN X-Received: by 2002:a05:600c:6290:b0:485:3f30:6250 with SMTP id 5b1f17b1804b1-48e51f3fd58mr414101285e9.20.1778496325795; Mon, 11 May 2026 03:45:25 -0700 (PDT) Received: from localhost (p200300f65f114e0841c796eda31a14b3.dip0.t-ipconnect.de. [2003:f6:5f11:4e08:41c7:96ed:a31a:14b3]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-48e702e5630sm163631495e9.8.2026.05.11.03.45.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 May 2026 03:45:25 -0700 (PDT) From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20=28The=20Capable=20Hub=29?= To: Clemens Ladisch , Takashi Sakamoto , Jaroslav Kysela , Takashi Iwai Cc: "Christian A. Ehrhardt" , linux1394-devel@lists.sourceforge.net, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Wolfram Sang , Andy Shevchenko , "Christian A. Ehrhardt" Subject: [PATCH v2 1/2] firewire: Simplify storing pointers in device id struct Date: Mon, 11 May 2026 12:45:02 +0200 Message-ID: X-Mailer: git-send-email 2.47.3 In-Reply-To: References: 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" X-Developer-Signature: v=1; a=openpgp-sha256; l=1499; i=u.kleine-koenig@baylibre.com; h=from:subject:message-id; bh=7Fb7gRlK9+DQznhHXVa9Lj5oly00fA+a3//pDOX4BMM=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBqAbMv1GRmnyfPztMd4yCbTsXjR2mNz8M/CKkfv k4zoMx6GrWJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCagGzLwAKCRCPgPtYfRL+ ThftB/9oZr27bQL9JfJLRl4dli6fUh9iQBPVO1QP0cDtJf3navjMpohr/qc6ykBuvlx1iMQCqzZ 7WWnzntxofusFSilQ5iDYW1EatKxqbFvz8ZGsk5PsMQNwKFKHDXIeOSC67mnauk3voX1j7KSztS w9EefO3c+9UZ2wv719o6L38x0Xs+BNK2B/eNlKFd2JESFsyy42kxbEAF1/IJ5Rw7Qsj9x0fj+cw M8IWa7Al4bBg3uccx2l/NqQZ3td2MySR/mcr9vpPGXy+2yJaUUtx0Srfz+iU8Dc0KEosGpIOtff srCKNUUCslKktmLV8q3WuPFUriUKyaqBg0JK/W4qttUpfmG4 X-Developer-Key: i=u.kleine-koenig@baylibre.com; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable Technically it is fine (on all current Linux architectures) to store a pointer in an unsigned long variable. However this needs explicit casting which is an easy source for type mismatches. By replacing the plain unsigned long .driver_data in struct ieee1394_device_id by an anonymous union, most of the casting can be dropped. There is still some implicit casting involved (between a void * and a driver specific pointer type), but that's better than the approach to store a pointer in an unsigned long variable as this doesn't lose the information that the data being pointed to is const. This also helps the porting effort to let Linux support CHERI where an unsigned long is unsuitable to hold a pointer. All users of struct ieee1394_device_id are initialized in a way that is compatible with the new definition, so no adaptions are needed there. Signed-off-by: Uwe Kleine-K=C3=B6nig (The Capable Hub) --- include/linux/mod_devicetable.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetabl= e.h index 23ff24080dfd..3b0c9a251a2e 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h @@ -61,7 +61,10 @@ struct ieee1394_device_id { __u32 model_id; __u32 specifier_id; __u32 version; - kernel_ulong_t driver_data; + union { + kernel_ulong_t driver_data; + const void *driver_data_ptr; + }; }; =20 =20 --=20 2.47.3 From nobody Sat Jun 13 02:56:19 2026 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (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 971D83DA5CE for ; Mon, 11 May 2026 10:45:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778496330; cv=none; b=HTUjMMxyQukBirXWMO4Uov4SptsIA0h+6RU8YPrhALhwI5/9dg7FxZM8mOr2jeznc2iV8wjFujJdfmerfoYoxq7xPLC3mIAkxB8JM6WjTgVWwpwlErTze8PR1u53uuse5F4svjm6D+PS8jh990JuxAkxNW3n2StWuXwdlw0lCIE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778496330; c=relaxed/simple; bh=Z5kABJ9vxVnrMbOE6G6iiRZ9WfAugWJNN8vd9PIEqQw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=YmoMkQP+Vw1gauUh+5fKCJKdezM4suqWchWYmFlrRIiF4z3C01TdpvjDPnsn2lW1W02GQZ06BOYKxHhRWOX7w4npkosjmlCVOoz0U3xLt9wEfG6hui7SUF4A5aB32YUdPbI3tA2C5G1JgIeFphcxR++OZ5aeWMnN4YyhBp4dYuY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20251104.gappssmtp.com header.i=@baylibre-com.20251104.gappssmtp.com header.b=rABWw7X4; arc=none smtp.client-ip=209.85.221.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20251104.gappssmtp.com header.i=@baylibre-com.20251104.gappssmtp.com header.b="rABWw7X4" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-43d76dd4ee8so3786149f8f.2 for ; Mon, 11 May 2026 03:45:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1778496327; x=1779101127; 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; bh=pRUDbFQ8UUGeQxVTB+IPdu0McsH7m9PzJSt8sg0Mkuc=; b=rABWw7X4yGdPPrlfFilZk4IbnIv1CQj8BlUOnsU4rknxjMlvX5U4qG1CCt8EaFpcVC xSwWIIDXHwGuXS/p3O2AT1mKAVvOCzGBJAygsqKUZqtseqU3u6hXSzKF9N/T+/gUcovt /dkpdmsFPt06cBxl1ywkO3y7vmlygGAN0ccOT3GeXmnS4TAoraV4ugj2pL48UvV1795h Yhv58PZLTPjqoSpLTIWMhHuBICrZC4hgFrPIcb5AIlh14lC48ZBc+0BAYKtLZdt7Th8c 0ir8IF3E75CdRSH7WkwOQa0S0eND7UO4bnm7ongwO7YU1WeDU+1SpREqlnClFxQYFrH0 Bc8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778496327; x=1779101127; 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; bh=pRUDbFQ8UUGeQxVTB+IPdu0McsH7m9PzJSt8sg0Mkuc=; b=iIkHWwpzd3GflDUzsJG6eentLh7+yuIziWMFroMNvrSGMqyZGcuCOrv3BNtbgjcGB8 0yz7VseLoMLuW73K9V4creBUnyZ43zQL//erm/vFreQiiSs7xZ0eGqo4y8+anIrsHVxr NbsIGiX7cwrlBjlpW2u5xEyzOs72gcL87y7qoP0UIkQ/2lEGZDx3s9w3zJrBEurZ/zE/ XGB0T58EswYWCuIlvmljzQhlFC4j+1zyRlc7vdq/hmfeoGBwrQxAK5P80o05C5PK9kBF 4vs8k/bbODzYoOjaHn0l7OHtYXwHuQ4TfxlfK5lFgeWodBN6qdfHsHitLiHQqrpBHy6h iAJw== X-Forwarded-Encrypted: i=1; AFNElJ8piDiqmFtdiWkNh4Gm5TVeQtksUNb4MmMjJbUFpGbp44L51s7gtoiAB/H2Ka06iNUHrFYH80GRQKan9Tk=@vger.kernel.org X-Gm-Message-State: AOJu0YzdB30O6W9UNVhGUtzcNeDWPTgNS8YDjSWe9CdB/KKaELgp+2xP ccySnIdjnb9gpZKUtm8Khn4g1s/N7tZQ3ekOagwpyDHtbh29q0xRtgqJ/vzsfYSYsBs= X-Gm-Gg: Acq92OEkuyRN2oQ63tpH9MWmRmuKC80/dw24ZWlAkQoi5sWhwLa/AnZMWE8HrH52FeV f/+rABsLGTMypYUKzw3NZ6DQTkYQl/TlCqxjaM7CsCVx4PYaD6BIA0sJ9uB7NcqJmm773LSFeqM SpVFu8fwWYOCjFdA7FZDNBPQOdp/GpLhzGVOTD24ha+jz5hzeQLQF4Fs8s1fgqO+TFEkNWWCmhN 8CceT/zxTX88FyBHwKK+YPF+OOiDlT+SWlp3PCkvyHNR7qDfFvPPZxNrxKNQjQ7lV1L3g/biqWs LZCNbhX+FQALPG7DIJRhwVsY5OeVP5eeo2gbM9zcmWFWkZ2Jkw2nOTTPL4nUUc1lD6TLS3SpH0A jLYXjc1UB1AZ1h8ZrMRni5QnZT+elPix6PsBNod1Wusx4ZFyWtBMGc8GtXF6lL49eoNnNEOqTzQ 0qWomCwwrdGIYzzh4wY2GAbkcGHTecsK+CeLXbrzyKWHduAaHIew/DMt6t+vVyC0VipWL3HxgFn JBeUYvBcV3gtu0= X-Received: by 2002:a5d:6e4e:0:b0:456:d5bf:e24d with SMTP id ffacd0b85a97d-456d5bfe26dmr8855741f8f.2.1778496326852; Mon, 11 May 2026 03:45:26 -0700 (PDT) Received: from localhost (p200300f65f114e0841c796eda31a14b3.dip0.t-ipconnect.de. [2003:f6:5f11:4e08:41c7:96ed:a31a:14b3]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-4549217b782sm21984354f8f.35.2026.05.11.03.45.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 May 2026 03:45:26 -0700 (PDT) From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20=28The=20Capable=20Hub=29?= To: Clemens Ladisch , Takashi Sakamoto , Jaroslav Kysela , Takashi Iwai Cc: "Christian A. Ehrhardt" , linux1394-devel@lists.sourceforge.net, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Wolfram Sang , Andy Shevchenko , "Christian A. Ehrhardt" Subject: [PATCH v2 2/2] ALSA: firewire: Make use of ieee1394's .driver_data_ptr Date: Mon, 11 May 2026 12:45:03 +0200 Message-ID: <6b7b7b3b8b54465ad5e7463412a202350fccbb62.1778494204.git.u.kleine-koenig@baylibre.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: References: 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" X-Developer-Signature: v=1; a=openpgp-sha256; l=10559; i=u.kleine-koenig@baylibre.com; h=from:subject:message-id; bh=Z5kABJ9vxVnrMbOE6G6iiRZ9WfAugWJNN8vd9PIEqQw=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBqAbMyyXXFt+JfXydF8xlB6ON9w1+Vfec8fWdQ1 JGBp/BdINyJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCagGzMgAKCRCPgPtYfRL+ TgrEB/9l1FX/eiH06j+BfnHeWANb3EvB5/PihaPb+wZ/Mn2JqqUDdO/bM1ojptSxi3VGTNmN8xE AmEs3QOp25t0NZn0NkgrIpnnfBDcGdpKRFenGvGe7EotZLoQIzpsgzrbGjX5y9zcvxkF+LK22lM N3gmGNMxbMZdIqFm80gNNhDF82qSCbJ/BUcjt8NNEi8DHH50bbjQH9CvOJpAQZqL1k1s4hDqCY+ 8cxy6Ztk4IT8C6iz8UdV+se14b2yuV4Dvermz4f3FZES28kw/4OPsPhtsnzcxHQ6c96JS7g+G6S rB2jaE5RPW1jjl6OC78IR5OjPuqoKYDEstNFz+Cj+ElJoajJ X-Developer-Key: i=u.kleine-koenig@baylibre.com; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable Recently struct ieee1394_device_id gained a new member to store a pointer to driver data. Make use of that to get rid of a bunch of casts. Signed-off-by: Uwe Kleine-K=C3=B6nig (The Capable Hub) --- sound/firewire/dice/dice.c | 34 +++++++++++++++++----------------- sound/firewire/fireface/ff.c | 12 ++++++------ sound/firewire/motu/motu.c | 6 +++--- sound/firewire/oxfw/oxfw.c | 4 ++-- 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/sound/firewire/dice/dice.c b/sound/firewire/dice/dice.c index f7a50bae4b55..58f14aadc73d 100644 --- a/sound/firewire/dice/dice.c +++ b/sound/firewire/dice/dice.c @@ -148,7 +148,7 @@ static int dice_probe(struct fw_unit *unit, const struc= t ieee1394_device_id *ent snd_dice_detect_formats_t detect_formats; int err; =20 - if (!entry->driver_data && entry->vendor_id !=3D OUI_SSL) { + if (!entry->driver_data_ptr && entry->vendor_id !=3D OUI_SSL) { err =3D check_dice_category(unit); if (err < 0) return -ENODEV; @@ -164,10 +164,10 @@ static int dice_probe(struct fw_unit *unit, const str= uct ieee1394_device_id *ent dev_set_drvdata(&unit->device, dice); dice->card =3D card; =20 - if (!entry->driver_data) + if (!entry->driver_data_ptr) detect_formats =3D snd_dice_stream_detect_current_formats; else - detect_formats =3D (snd_dice_detect_formats_t)entry->driver_data; + detect_formats =3D entry->driver_data_ptr; =20 // Below models are compliant to IEC 61883-1/6 and have no quirk at high = sampling transfer // frequency. @@ -255,7 +255,7 @@ static void dice_bus_reset(struct fw_unit *unit) .model_id =3D (model), \ .specifier_id =3D (vendor), \ .version =3D DICE_INTERFACE, \ - .driver_data =3D (kernel_ulong_t)(data), \ + .driver_data_ptr =3D (data), \ } =20 static const struct ieee1394_device_id dice_id_table[] =3D { @@ -267,7 +267,7 @@ static const struct ieee1394_device_id dice_id_table[] = =3D { IEEE1394_MATCH_MODEL_ID, .vendor_id =3D OUI_MAUDIO, .model_id =3D 0x000010, - .driver_data =3D (kernel_ulong_t)snd_dice_detect_extension_formats, + .driver_data_ptr =3D snd_dice_detect_extension_formats, }, /* M-Audio Profire 610 has a different value in version field. */ { @@ -275,7 +275,7 @@ static const struct ieee1394_device_id dice_id_table[] = =3D { IEEE1394_MATCH_MODEL_ID, .vendor_id =3D OUI_MAUDIO, .model_id =3D 0x000011, - .driver_data =3D (kernel_ulong_t)snd_dice_detect_extension_formats, + .driver_data_ptr =3D snd_dice_detect_extension_formats, }, /* TC Electronic Konnekt 24D. */ { @@ -283,7 +283,7 @@ static const struct ieee1394_device_id dice_id_table[] = =3D { IEEE1394_MATCH_MODEL_ID, .vendor_id =3D OUI_TCELECTRONIC, .model_id =3D 0x000020, - .driver_data =3D (kernel_ulong_t)snd_dice_detect_tcelectronic_formats, + .driver_data_ptr =3D snd_dice_detect_tcelectronic_formats, }, /* TC Electronic Konnekt 8. */ { @@ -291,7 +291,7 @@ static const struct ieee1394_device_id dice_id_table[] = =3D { IEEE1394_MATCH_MODEL_ID, .vendor_id =3D OUI_TCELECTRONIC, .model_id =3D 0x000021, - .driver_data =3D (kernel_ulong_t)snd_dice_detect_tcelectronic_formats, + .driver_data_ptr =3D snd_dice_detect_tcelectronic_formats, }, /* TC Electronic Studio Konnekt 48. */ { @@ -299,7 +299,7 @@ static const struct ieee1394_device_id dice_id_table[] = =3D { IEEE1394_MATCH_MODEL_ID, .vendor_id =3D OUI_TCELECTRONIC, .model_id =3D 0x000022, - .driver_data =3D (kernel_ulong_t)snd_dice_detect_tcelectronic_formats, + .driver_data_ptr =3D snd_dice_detect_tcelectronic_formats, }, /* TC Electronic Konnekt Live. */ { @@ -307,7 +307,7 @@ static const struct ieee1394_device_id dice_id_table[] = =3D { IEEE1394_MATCH_MODEL_ID, .vendor_id =3D OUI_TCELECTRONIC, .model_id =3D 0x000023, - .driver_data =3D (kernel_ulong_t)snd_dice_detect_tcelectronic_formats, + .driver_data_ptr =3D snd_dice_detect_tcelectronic_formats, }, /* TC Electronic Desktop Konnekt 6. */ { @@ -315,7 +315,7 @@ static const struct ieee1394_device_id dice_id_table[] = =3D { IEEE1394_MATCH_MODEL_ID, .vendor_id =3D OUI_TCELECTRONIC, .model_id =3D 0x000024, - .driver_data =3D (kernel_ulong_t)snd_dice_detect_tcelectronic_formats, + .driver_data_ptr =3D snd_dice_detect_tcelectronic_formats, }, /* TC Electronic Impact Twin. */ { @@ -323,7 +323,7 @@ static const struct ieee1394_device_id dice_id_table[] = =3D { IEEE1394_MATCH_MODEL_ID, .vendor_id =3D OUI_TCELECTRONIC, .model_id =3D 0x000027, - .driver_data =3D (kernel_ulong_t)snd_dice_detect_tcelectronic_formats, + .driver_data_ptr =3D snd_dice_detect_tcelectronic_formats, }, /* TC Electronic Digital Konnekt x32. */ { @@ -331,7 +331,7 @@ static const struct ieee1394_device_id dice_id_table[] = =3D { IEEE1394_MATCH_MODEL_ID, .vendor_id =3D OUI_TCELECTRONIC, .model_id =3D 0x000030, - .driver_data =3D (kernel_ulong_t)snd_dice_detect_tcelectronic_formats, + .driver_data_ptr =3D snd_dice_detect_tcelectronic_formats, }, /* Alesis iO14/iO26. */ { @@ -339,7 +339,7 @@ static const struct ieee1394_device_id dice_id_table[] = =3D { IEEE1394_MATCH_MODEL_ID, .vendor_id =3D OUI_ALESIS, .model_id =3D MODEL_ALESIS_IO_BOTH, - .driver_data =3D (kernel_ulong_t)snd_dice_detect_alesis_formats, + .driver_data_ptr =3D snd_dice_detect_alesis_formats, }, // Alesis MasterControl. { @@ -347,7 +347,7 @@ static const struct ieee1394_device_id dice_id_table[] = =3D { IEEE1394_MATCH_MODEL_ID, .vendor_id =3D OUI_ALESIS, .model_id =3D 0x000002, - .driver_data =3D (kernel_ulong_t)snd_dice_detect_alesis_mastercontrol_fo= rmats, + .driver_data_ptr =3D snd_dice_detect_alesis_mastercontrol_formats, }, /* Mytek Stereo 192 DSD-DAC. */ { @@ -355,7 +355,7 @@ static const struct ieee1394_device_id dice_id_table[] = =3D { IEEE1394_MATCH_MODEL_ID, .vendor_id =3D OUI_MYTEK, .model_id =3D 0x000002, - .driver_data =3D (kernel_ulong_t)snd_dice_detect_mytek_formats, + .driver_data_ptr =3D snd_dice_detect_mytek_formats, }, // Solid State Logic, Duende Classic and Mini. // NOTE: each field of GUID in config ROM is not compliant to standard @@ -469,7 +469,7 @@ static const struct ieee1394_device_id dice_id_table[] = =3D { .model_id =3D OUI_TEAC, .specifier_id =3D OUI_TEAC, .version =3D 0x800006, - .driver_data =3D (kernel_ulong_t)snd_dice_detect_teac_formats, + .driver_data_ptr =3D snd_dice_detect_teac_formats, }, { } }; diff --git a/sound/firewire/fireface/ff.c b/sound/firewire/fireface/ff.c index 5d2c4fbf4434..13472822d2be 100644 --- a/sound/firewire/fireface/ff.c +++ b/sound/firewire/fireface/ff.c @@ -70,7 +70,7 @@ static int snd_ff_probe(struct fw_unit *unit, const struc= t ieee1394_device_id *e init_waitqueue_head(&ff->hwdep_wait); =20 ff->unit_version =3D entry->version; - ff->spec =3D (const struct snd_ff_spec *)entry->driver_data; + ff->spec =3D entry->driver_data_ptr; =20 err =3D snd_ff_transaction_register(ff); if (err < 0) @@ -186,7 +186,7 @@ static const struct ieee1394_device_id snd_ff_id_table[= ] =3D { .specifier_id =3D OUI_RME, .version =3D SND_FF_UNIT_VERSION_FF800, .model_id =3D 0x101800, - .driver_data =3D (kernel_ulong_t)&spec_ff800, + .driver_data_ptr =3D &spec_ff800, }, /* Fireface 400 */ { @@ -198,7 +198,7 @@ static const struct ieee1394_device_id snd_ff_id_table[= ] =3D { .specifier_id =3D OUI_RME, .version =3D SND_FF_UNIT_VERSION_FF400, .model_id =3D 0x101800, - .driver_data =3D (kernel_ulong_t)&spec_ff400, + .driver_data_ptr =3D &spec_ff400, }, // Fireface UFX. { @@ -210,7 +210,7 @@ static const struct ieee1394_device_id snd_ff_id_table[= ] =3D { .specifier_id =3D OUI_RME, .version =3D SND_FF_UNIT_VERSION_UFX, .model_id =3D 0x101800, - .driver_data =3D (kernel_ulong_t)&spec_ufx_802, + .driver_data_ptr =3D &spec_ufx_802, }, // Fireface UCX. { @@ -222,7 +222,7 @@ static const struct ieee1394_device_id snd_ff_id_table[= ] =3D { .specifier_id =3D OUI_RME, .version =3D SND_FF_UNIT_VERSION_UCX, .model_id =3D 0x101800, - .driver_data =3D (kernel_ulong_t)&spec_ucx, + .driver_data_ptr =3D &spec_ucx, }, // Fireface 802. { @@ -234,7 +234,7 @@ static const struct ieee1394_device_id snd_ff_id_table[= ] =3D { .specifier_id =3D OUI_RME, .version =3D SND_FF_UNIT_VERSION_802, .model_id =3D 0x101800, - .driver_data =3D (kernel_ulong_t)&spec_ufx_802, + .driver_data_ptr =3D &spec_ufx_802, }, {} }; diff --git a/sound/firewire/motu/motu.c b/sound/firewire/motu/motu.c index fd2a9dddbfa6..1fec6c8cdf6c 100644 --- a/sound/firewire/motu/motu.c +++ b/sound/firewire/motu/motu.c @@ -78,7 +78,7 @@ static int motu_probe(struct fw_unit *unit, const struct = ieee1394_device_id *ent dev_set_drvdata(&unit->device, motu); motu->card =3D card; =20 - motu->spec =3D (const struct snd_motu_spec *)entry->driver_data; + motu->spec =3D entry->driver_data_ptr; mutex_init(&motu->mutex); spin_lock_init(&motu->lock); init_waitqueue_head(&motu->hwdep_wait); @@ -148,7 +148,7 @@ static void motu_bus_update(struct fw_unit *unit) snd_motu_transaction_reregister(motu); } =20 -#define SND_MOTU_DEV_ENTRY(model, data) \ +#define SND_MOTU_DEV_ENTRY(model, data_ptr) \ { \ .match_flags =3D IEEE1394_MATCH_VENDOR_ID | \ IEEE1394_MATCH_SPECIFIER_ID | \ @@ -156,7 +156,7 @@ static void motu_bus_update(struct fw_unit *unit) .vendor_id =3D OUI_MOTU, \ .specifier_id =3D OUI_MOTU, \ .version =3D model, \ - .driver_data =3D (kernel_ulong_t)data, \ + .driver_data_ptr =3D data_ptr, \ } =20 static const struct ieee1394_device_id motu_id_table[] =3D { diff --git a/sound/firewire/oxfw/oxfw.c b/sound/firewire/oxfw/oxfw.c index 5039bd79b18e..38a3c3b150df 100644 --- a/sound/firewire/oxfw/oxfw.c +++ b/sound/firewire/oxfw/oxfw.c @@ -95,7 +95,7 @@ static int name_card(struct snd_oxfw *oxfw, const struct = ieee1394_device_id *ent =20 /* to apply card definitions */ if (entry->vendor_id =3D=3D VENDOR_GRIFFIN || entry->vendor_id =3D=3D VEN= DOR_LACIE) { - info =3D (const struct compat_info *)entry->driver_data; + info =3D entry->driver_data_ptr; d =3D info->driver_name; v =3D info->vendor_name; m =3D info->model_name; @@ -321,7 +321,7 @@ static const struct compat_info lacie_speakers =3D { .model_id =3D model, \ .specifier_id =3D SPECIFIER_1394TA, \ .version =3D VERSION_AVC, \ - .driver_data =3D (kernel_ulong_t)data, \ + .driver_data_ptr =3D data, \ } =20 static const struct ieee1394_device_id oxfw_id_table[] =3D { --=20 2.47.3