]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: bump 6.12 to 6.12.95
authorShiji Yang <yangshiji66@outlook.com>
Sun, 5 Jul 2026 03:29:02 +0000 (11:29 +0800)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 29 Jul 2026 00:04:13 +0000 (02:04 +0200)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.95

Upstream merged patch:
- bcm27xx/patches-6.12/950-0859-drm-v3d-Set-job-pointer-to-NULL-when-the-job-s-fence.patch[1]

Manually rebased patches:
- bcm27xx/patches-6.12/950-0501-gpiolib-Override-gpiochip-numbers-with-DT-aliases.patch
- bcm27xx/patches-6.12/950-0777-drm-v3d-Remove-v3d-cpu_job.patch

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.95&id=0e64be02dfc83e28c5ec8c21513da86dcf079bdd
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/24081
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
17 files changed:
target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch
target/linux/bcm27xx/patches-6.12/950-0153-drm-v3d-Suppress-all-but-the-first-MMU-error.patch
target/linux/bcm27xx/patches-6.12/950-0179-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch
target/linux/bcm27xx/patches-6.12/950-0501-gpiolib-Override-gpiochip-numbers-with-DT-aliases.patch
target/linux/bcm27xx/patches-6.12/950-0768-drm-v3d-Introduce-gemfs.patch
target/linux/bcm27xx/patches-6.12/950-0772-drm-v3d-Add-modparam-for-turning-off-Big-Super-Pages.patch
target/linux/bcm27xx/patches-6.12/950-0775-drm-v3d-Add-DRM_IOCTL_V3D_PERFMON_SET_GLOBAL.patch
target/linux/bcm27xx/patches-6.12/950-0777-drm-v3d-Remove-v3d-cpu_job.patch
target/linux/bcm27xx/patches-6.12/950-0859-drm-v3d-Set-job-pointer-to-NULL-when-the-job-s-fence.patch [deleted file]
target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch
target/linux/bcm27xx/patches-6.12/950-0863-drm-v3d-Use-V3D_SMS-registers-for-power-on-off-and-r.patch
target/linux/generic/backport-6.12/626-16b-v6.17-regulator-Add-support-for-power-budget.patch
target/linux/generic/kernel-6.12
target/linux/generic/pending-6.12/454-block-add-support-for-notifications.patch
target/linux/generic/pending-6.12/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch
target/linux/ipq806x/patches-6.12/001-01-v6.19-err.h-add-INIT_ERR_PTR-macro.patch
target/linux/qualcommax/patches-6.12/0047-v6.16-PCI-qcom-Add-support-for-IPQ5018.patch

index b9bc4f09ed48f5cb920572ff5823d4396c2347d0..3a733d13fb55dae6b5304c43c8a1fddd9f12d1ac 100644 (file)
@@ -70,7 +70,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
  
 --- a/drivers/gpu/drm/v3d/v3d_drv.h
 +++ b/drivers/gpu/drm/v3d/v3d_drv.h
-@@ -121,6 +121,12 @@ struct v3d_dev {
+@@ -124,6 +124,12 @@ struct v3d_dev {
        void __iomem *bridge_regs;
        void __iomem *gca_regs;
        struct clk *clk;
@@ -83,7 +83,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
        struct reset_control *reset;
  
        /* Virtual and DMA addresses of the single shared page table. */
-@@ -597,3 +603,4 @@ int v3d_perfmon_get_counter_ioctl(struct
+@@ -596,3 +602,4 @@ int v3d_perfmon_get_counter_ioctl(struct
  /* v3d_sysfs.c */
  int v3d_sysfs_init(struct device *dev);
  void v3d_sysfs_destroy(struct device *dev);
index e08d6656975a525f4f41d55999e8cbf2a38dad3a..a274a9ab18335b30d1e6d31ad66ffe8101076d41 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/gpu/drm/v3d/v3d_irq.c
 +++ b/drivers/gpu/drm/v3d/v3d_irq.c
-@@ -197,6 +197,7 @@ v3d_hub_irq(int irq, void *arg)
+@@ -183,6 +183,7 @@ v3d_hub_irq(int irq, void *arg)
                        "GMP",
                };
                const char *client = "?";
@@ -21,7 +21,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  
                V3D_WRITE(V3D_MMU_CTL, V3D_READ(V3D_MMU_CTL));
  
-@@ -206,6 +207,7 @@ v3d_hub_irq(int irq, void *arg)
+@@ -192,6 +193,7 @@ v3d_hub_irq(int irq, void *arg)
                                client = v3d41_axi_ids[axi_id];
                }
  
@@ -29,7 +29,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
                dev_err(v3d->drm.dev, "MMU error from client %s (%d) at 0x%llx%s%s%s\n",
                        client, axi_id, (long long)vio_addr,
                        ((intsts & V3D_HUB_INT_MMU_WRV) ?
-@@ -214,6 +216,7 @@ v3d_hub_irq(int irq, void *arg)
+@@ -200,6 +202,7 @@ v3d_hub_irq(int irq, void *arg)
                         ", pte invalid" : ""),
                        ((intsts & V3D_HUB_INT_MMU_CAP) ?
                         ", cap exceeded" : ""));
index b7782b6180582c84b66d6f39890bd33fd4b30fee..58aef56402cbbc0ce1d910efca9c139a7aed9bef 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  /* Device and char device-related information */
  static DEFINE_IDA(gpio_ida);
  static dev_t gpio_devt;
-@@ -2813,8 +2815,8 @@ int gpiod_direction_output(struct gpio_d
+@@ -2815,8 +2817,8 @@ int gpiod_direction_output(struct gpio_d
                value = !!value;
  
        /* GPIOs used for enabled IRQs shall not be set as output */
@@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
                gpiod_err(desc,
                          "%s: tried to set a GPIO tied to an IRQ as output\n",
                          __func__);
-@@ -3765,8 +3767,8 @@ int gpiochip_lock_as_irq(struct gpio_chi
+@@ -3767,8 +3769,8 @@ int gpiochip_lock_as_irq(struct gpio_chi
        }
  
        /* To be valid for IRQ the line needs to be input or open drain */
index 1b0c1bbdf3d639839c53eea55f1e77e02732c03c..28af324d2304718be42aadb96d8de84307228f43 100644 (file)
@@ -22,19 +22,19 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
  
  const char *gpiod_get_label(struct gpio_desc *desc)
  {
-@@ -927,6 +928,7 @@ int gpiochip_add_data_with_key(struct gp
+@@ -946,6 +947,7 @@ int gpiochip_add_data_with_key(struct gp
        unsigned int desc_index;
        int base = 0;
-       int ret = 0;
+       int ret;
 +      int id;
  
-       /*
-        * First: allocate and populate the internal stat container, and
+       gdev = kzalloc(sizeof(*gdev), GFP_KERNEL);
+       if (!gdev)
 @@ -953,7 +955,16 @@ int gpiochip_add_data_with_key(struct gp
-       else if (gc->parent)
-               device_set_node(&gdev->dev, dev_fwnode(gc->parent));
+       gc->gpiodev = gdev;
+       gpiochip_set_data(gc, data);
  
--      gdev->id = ida_alloc(&gpio_ida, GFP_KERNEL);
+-      ret = ida_alloc(&gpio_ida, GFP_KERNEL);
 +      if (first_dynamic_gpiochip_num < 0) {
 +              id = of_alias_get_highest_id("gpiochip");
 +              first_dynamic_gpiochip_num = (id >= 0) ? (id + 1) : 0;
@@ -44,7 +44,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 +      if (id < 0)
 +              id = first_dynamic_gpiochip_num;
 +
-+      gdev->id = ida_alloc_range(&gpio_ida, id, ~0, GFP_KERNEL);
-       if (gdev->id < 0) {
-               ret = gdev->id;
++      ret = ida_alloc_range(&gpio_ida, id, ~0, GFP_KERNEL);
+       if (ret < 0)
                goto err_free_gdev;
+       gdev->id = ret;
index f1efefd9d998d4ab3a1a86ee2c7495817a4f00d5..b631a918327c7bdc41f98256b670d538ed7e1122 100644 (file)
@@ -39,7 +39,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20240923141348.2422499-6-mca
  
 --- a/drivers/gpu/drm/v3d/v3d_drv.h
 +++ b/drivers/gpu/drm/v3d/v3d_drv.h
-@@ -151,6 +151,11 @@ struct v3d_dev {
+@@ -154,6 +154,11 @@ struct v3d_dev {
        struct drm_mm mm;
        spinlock_t mm_lock;
  
@@ -50,8 +50,8 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20240923141348.2422499-6-mca
 +
        struct work_struct overflow_mem_work;
  
-       struct v3d_bin_job *bin_job;
-@@ -548,6 +553,10 @@ void v3d_reset(struct v3d_dev *v3d);
+       struct v3d_cpu_job *cpu_job;
+@@ -547,6 +552,10 @@ void v3d_reset(struct v3d_dev *v3d);
  void v3d_invalidate_caches(struct v3d_dev *v3d);
  void v3d_clean_caches(struct v3d_dev *v3d);
  
@@ -73,8 +73,8 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20240923141348.2422499-6-mca
        ret = v3d_sched_init(v3d);
        if (ret) {
                drm_mm_takedown(&v3d->mm);
-@@ -310,6 +312,7 @@ v3d_gem_destroy(struct drm_device *dev)
-       struct v3d_dev *v3d = to_v3d_dev(dev);
+@@ -311,6 +313,7 @@ v3d_gem_destroy(struct drm_device *dev)
+       enum v3d_queue q;
  
        v3d_sched_fini(v3d);
 +      v3d_gemfs_fini(v3d);
index 9d21a30aaa990c9224804766506d8a176ee4af0b..2653dd5c3ac4b1cb184ef8c47a73ceaa6d4fa9b0 100644 (file)
@@ -39,7 +39,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20240923141348.2422499-11-mc
  {
 --- a/drivers/gpu/drm/v3d/v3d_drv.h
 +++ b/drivers/gpu/drm/v3d/v3d_drv.h
-@@ -553,6 +553,7 @@ void v3d_invalidate_caches(struct v3d_de
+@@ -552,6 +552,7 @@ void v3d_invalidate_caches(struct v3d_de
  void v3d_clean_caches(struct v3d_dev *v3d);
  
  /* v3d_gemfs.c */
index b346b6575c9f6e87e56bbf773966815f1044f680..c8b74d13b0aac932fc1ebe18cec0f2d157a80fa7 100644 (file)
@@ -39,7 +39,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20241202140615.74802-1-chris
  static const struct drm_driver v3d_drm_driver = {
 --- a/drivers/gpu/drm/v3d/v3d_drv.h
 +++ b/drivers/gpu/drm/v3d/v3d_drv.h
-@@ -197,6 +197,12 @@ struct v3d_dev {
+@@ -196,6 +196,12 @@ struct v3d_dev {
                u32 num_allocated;
                u32 pages_allocated;
        } bo_stats;
@@ -52,7 +52,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20241202140615.74802-1-chris
  };
  
  static inline struct v3d_dev *
-@@ -608,6 +614,8 @@ int v3d_perfmon_get_values_ioctl(struct
+@@ -607,6 +613,8 @@ int v3d_perfmon_get_values_ioctl(struct
                                 struct drm_file *file_priv);
  int v3d_perfmon_get_counter_ioctl(struct drm_device *dev, void *data,
                                  struct drm_file *file_priv);
index 436740ffbc82f24c131edae2dfa9d93022c46822..6128a709a47f179acb46cfdb2ad117def12eacee 100644 (file)
@@ -25,17 +25,17 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20250113154741.67520-2-mcana
 
 --- a/drivers/gpu/drm/v3d/v3d_drv.h
 +++ b/drivers/gpu/drm/v3d/v3d_drv.h
-@@ -161,7 +161,6 @@ struct v3d_dev {
-       struct v3d_render_job *render_job;
-       struct v3d_tfu_job *tfu_job;
-       struct v3d_csd_job *csd_job;
+@@ -160,7 +160,6 @@ struct v3d_dev {
+       struct work_struct overflow_mem_work;
 -      struct v3d_cpu_job *cpu_job;
  
        struct v3d_queue_state queue[V3D_MAX_QUEUES];
  
 --- a/drivers/gpu/drm/v3d/v3d_sched.c
 +++ b/drivers/gpu/drm/v3d/v3d_sched.c
-@@ -664,8 +664,6 @@ v3d_cpu_job_run(struct drm_sched_job *sc
+@@ -684,8 +684,6 @@ v3d_cpu_job_run(struct drm_sched_job *sc
        struct v3d_cpu_job *job = to_cpu_job(sched_job);
        struct v3d_dev *v3d = job->base.v3d;
  
diff --git a/target/linux/bcm27xx/patches-6.12/950-0859-drm-v3d-Set-job-pointer-to-NULL-when-the-job-s-fence.patch b/target/linux/bcm27xx/patches-6.12/950-0859-drm-v3d-Set-job-pointer-to-NULL-when-the-job-s-fence.patch
deleted file mode 100644 (file)
index 7940e20..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-From 23f61178926efa5b4b75c91a45fd315217bcb6c6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ma=C3=ADra=20Canal?= <mcanal@igalia.com>
-Date: Tue, 11 Mar 2025 15:13:44 -0300
-Subject: [PATCH] drm/v3d: Set job pointer to NULL when the job's fence has an
- error
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Similar to commit e4b5ccd392b9 ("drm/v3d: Ensure job pointer is set to
-NULL after job completion"), ensure the job pointer is set to `NULL` when
-a job's fence has an error. Failing to do so can trigger kernel warnings
-in specific scenarios, such as:
-
-1. v3d_csd_job_run() assigns `v3d->csd_job = job`
-2. CSD job exceeds hang limit, causing a timeout → v3d_gpu_reset_for_timeout()
-3. GPU reset
-4. drm_sched_resubmit_jobs() sets the job's fence to `-ECANCELED`.
-5. v3d_csd_job_run() detects the fence error and returns NULL, not
-   submitting the job to the GPU
-6. User-space runs `modprobe -r v3d`
-7. v3d_gem_destroy()
-
-v3d_gem_destroy() triggers a warning indicating that the CSD job never
-ended, as we didn't set `v3d->csd_job` to NULL after the timeout. The same
-can also happen to BIN, RENDER, and TFU jobs.
-
-Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
-Signed-off-by: Maíra Canal <mcanal@igalia.com>
----
- drivers/gpu/drm/v3d/v3d_sched.c | 18 ++++++++++++++----
- 1 file changed, 14 insertions(+), 4 deletions(-)
-
---- a/drivers/gpu/drm/v3d/v3d_sched.c
-+++ b/drivers/gpu/drm/v3d/v3d_sched.c
-@@ -216,8 +216,12 @@ static struct dma_fence *v3d_bin_job_run
-       struct dma_fence *fence;
-       unsigned long irqflags;
--      if (unlikely(job->base.base.s_fence->finished.error))
-+      if (unlikely(job->base.base.s_fence->finished.error)) {
-+              spin_lock_irqsave(&v3d->job_lock, irqflags);
-+              v3d->bin_job = NULL;
-+              spin_unlock_irqrestore(&v3d->job_lock, irqflags);
-               return NULL;
-+      }
-       /* Lock required around bin_job update vs
-        * v3d_overflow_mem_work().
-@@ -271,8 +275,10 @@ static struct dma_fence *v3d_render_job_
-       struct drm_device *dev = &v3d->drm;
-       struct dma_fence *fence;
--      if (unlikely(job->base.base.s_fence->finished.error))
-+      if (unlikely(job->base.base.s_fence->finished.error)) {
-+              v3d->render_job = NULL;
-               return NULL;
-+      }
-       v3d->render_job = job;
-@@ -317,8 +323,10 @@ v3d_tfu_job_run(struct drm_sched_job *sc
-       struct drm_device *dev = &v3d->drm;
-       struct dma_fence *fence;
--      if (unlikely(job->base.base.s_fence->finished.error))
-+      if (unlikely(job->base.base.s_fence->finished.error)) {
-+              v3d->tfu_job = NULL;
-               return NULL;
-+      }
-       v3d->tfu_job = job;
-@@ -363,8 +371,10 @@ v3d_csd_job_run(struct drm_sched_job *sc
-       struct dma_fence *fence;
-       int i, csd_cfg0_reg;
--      if (unlikely(job->base.base.s_fence->finished.error))
-+      if (unlikely(job->base.base.s_fence->finished.error)) {
-+              v3d->csd_job = NULL;
-               return NULL;
-+      }
-       v3d->csd_job = job;
index 6ea273ac0984148c90b32ac2be495b379ce992ed..8eb680f7a464c4ab9e0c567427909a151659dffd 100644 (file)
@@ -324,7 +324,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
                        goto clk_disable;
 --- a/drivers/gpu/drm/v3d/v3d_drv.h
 +++ b/drivers/gpu/drm/v3d/v3d_drv.h
-@@ -100,11 +100,18 @@ enum v3d_irq {
+@@ -103,11 +103,18 @@ enum v3d_irq {
        V3D_MAX_IRQS,
  };
  
@@ -344,7 +344,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
  
        /* Short representation (e.g. 5, 6) of the V3D tech revision */
        int rev;
-@@ -213,7 +220,7 @@ to_v3d_dev(struct drm_device *dev)
+@@ -212,7 +219,7 @@ to_v3d_dev(struct drm_device *dev)
  static inline bool
  v3d_has_csd(struct v3d_dev *v3d)
  {
@@ -400,7 +400,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
        V3D_CORE_WRITE(core, V3D_CTL_L2CACTL,
 --- a/drivers/gpu/drm/v3d/v3d_irq.c
 +++ b/drivers/gpu/drm/v3d/v3d_irq.c
-@@ -143,7 +143,7 @@ v3d_irq(int irq, void *arg)
+@@ -137,7 +137,7 @@ v3d_irq(int irq, void *arg)
        /* We shouldn't be triggering these if we have GMP in
         * always-allowed mode.
         */
@@ -409,7 +409,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
                dev_err(v3d->drm.dev, "GMP violation\n");
  
        /* V3D 4.2 wires the hub and core IRQs together, so if we &
-@@ -201,7 +201,7 @@ v3d_hub_irq(int irq, void *arg)
+@@ -187,7 +187,7 @@ v3d_hub_irq(int irq, void *arg)
  
                V3D_WRITE(V3D_MMU_CTL, V3D_READ(V3D_MMU_CTL));
  
@@ -418,7 +418,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
                        axi_id = axi_id >> 5;
                        if (axi_id < ARRAY_SIZE(v3d41_axi_ids))
                                client = v3d41_axi_ids[axi_id];
-@@ -220,7 +220,7 @@ v3d_hub_irq(int irq, void *arg)
+@@ -206,7 +206,7 @@ v3d_hub_irq(int irq, void *arg)
                status = IRQ_HANDLED;
        }
  
@@ -458,7 +458,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
                V3D_WRITE(V3D_TFU_COEF1(v3d->ver), job->args.coef[1]);
                V3D_WRITE(V3D_TFU_COEF2(v3d->ver), job->args.coef[2]);
                V3D_WRITE(V3D_TFU_COEF3(v3d->ver), job->args.coef[3]);
-@@ -402,7 +402,7 @@ v3d_csd_job_run(struct drm_sched_job *sc
+@@ -412,7 +412,7 @@ v3d_csd_job_run(struct drm_sched_job *sc
         *
         * XXX: Set the CFG7 register
         */
index 002c96ea92acbb3ef061f8850173bb21b3b50f11..6c84d58eb2306a4c80399a0c8cf85bd73fc5d636 100644 (file)
@@ -40,7 +40,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
  
 --- a/drivers/gpu/drm/v3d/v3d_drv.h
 +++ b/drivers/gpu/drm/v3d/v3d_drv.h
-@@ -126,6 +126,7 @@ struct v3d_dev {
+@@ -129,6 +129,7 @@ struct v3d_dev {
        void __iomem *core_regs[3];
        void __iomem *bridge_regs;
        void __iomem *gca_regs;
@@ -48,7 +48,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
        struct clk *clk;
        struct delayed_work clk_down_work;
        unsigned long clk_up_rate, clk_down_rate;
-@@ -282,6 +283,15 @@ to_v3d_fence(struct dma_fence *fence)
+@@ -281,6 +282,15 @@ to_v3d_fence(struct dma_fence *fence)
  #define V3D_GCA_READ(offset) readl(v3d->gca_regs + offset)
  #define V3D_GCA_WRITE(offset, val) writel(val, v3d->gca_regs + offset)
  
@@ -64,7 +64,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
  #define V3D_CORE_READ(core, offset) readl(v3d->core_regs[core] + offset)
  #define V3D_CORE_WRITE(core, offset, val) writel(val, v3d->core_regs[core] + offset)
  
-@@ -560,6 +570,7 @@ struct dma_fence *v3d_fence_create(struc
+@@ -559,6 +569,7 @@ struct dma_fence *v3d_fence_create(struc
  /* v3d_gem.c */
  int v3d_gem_init(struct drm_device *dev);
  void v3d_gem_destroy(struct drm_device *dev);
index b77f96db8e1ef5058817af94751c36414613e0d0..d823f49b5353626150de2da8319124e43b5559bc 100644 (file)
@@ -69,7 +69,7 @@ Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
        print_constraints(rdev);
        return 0;
  }
-@@ -4651,6 +4678,87 @@ int regulator_get_current_limit(struct r
+@@ -4659,6 +4686,87 @@ int regulator_get_current_limit(struct r
  EXPORT_SYMBOL_GPL(regulator_get_current_limit);
  
  /**
@@ -157,7 +157,7 @@ Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
   * regulator_set_mode - set regulator operating mode
   * @regulator: regulator source
   * @mode: operating mode - one of the REGULATOR_MODE constants
-@@ -5288,6 +5396,8 @@ static struct attribute *regulator_dev_a
+@@ -5296,6 +5404,8 @@ static struct attribute *regulator_dev_a
        &dev_attr_suspend_standby_mode.attr,
        &dev_attr_suspend_mem_mode.attr,
        &dev_attr_suspend_disk_mode.attr,
@@ -166,7 +166,7 @@ Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
        NULL
  };
  
-@@ -5369,6 +5479,10 @@ static umode_t regulator_attr_is_visible
+@@ -5377,6 +5487,10 @@ static umode_t regulator_attr_is_visible
            attr == &dev_attr_suspend_disk_mode.attr)
                return ops->set_suspend_mode ? mode : 0;
  
index 424db9bb4e276061c37df2bf9e4814c4c589e08d..81f5966ce60ae08f94d50f5c071943c3ac0d353e 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.12 = .94
-LINUX_KERNEL_HASH-6.12.94 = e998a232b9418db3301cb58468e291a4f41d6ab8306029b30d991f56251dc8d2
+LINUX_VERSION-6.12 = .95
+LINUX_KERNEL_HASH-6.12.95 = a9e8c51fcb1e695d1d35dde5886cba579cb6f29c9646c5889f39d63841d4b9f6
index 6a5abef682fff42b47988c10e377ae6589166616..c9effa07d45fdae54033e1ce397d603cbcad8a96 100644 (file)
@@ -149,7 +149,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 +device_initcall(blk_notifications_init);
 --- a/include/linux/blkdev.h
 +++ b/include/linux/blkdev.h
-@@ -1753,4 +1753,12 @@ static inline bool bdev_can_atomic_write
+@@ -1749,4 +1749,12 @@ static inline bool bdev_can_atomic_write
  
  #define DEFINE_IO_COMP_BATCH(name)    struct io_comp_batch name = { }
  
index 730517bba144a4882d8443aeeaa96da22ddbc8c1..8a5822b53c02fdfc44dc21dceaae1f5816f2540a 100644 (file)
@@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  struct rtnl_link {
        rtnl_doit_func          doit;
-@@ -5013,7 +5013,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
+@@ -5021,7 +5021,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
            brport_nla_put_flag(skb, flags, mask,
                                IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) ||
            brport_nla_put_flag(skb, flags, mask,
index a6440b73edaf7f013dda31cde6c22e2877875662..831d02726786bf74dc46f8f2a50f7142d37433e8 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
 
 --- a/include/linux/err.h
 +++ b/include/linux/err.h
-@@ -41,6 +41,14 @@ static inline void * __must_check ERR_PT
+@@ -41,6 +41,14 @@ static __always_inline void * __must_che
        return (void *) error;
  }
  
index 753a53711b900e3ae65230f2e468586800a460b0..70e681475f7f67a5db699180036a0e999928e1bb 100644 (file)
@@ -21,7 +21,7 @@ Link: https://patch.msgid.link/20250326-ipq5018-pcie-v7-4-e1828fef06c9@outlook.c
 
 --- a/drivers/pci/controller/dwc/pcie-qcom.c
 +++ b/drivers/pci/controller/dwc/pcie-qcom.c
-@@ -1832,6 +1832,7 @@ static const struct of_device_id qcom_pc
+@@ -1827,6 +1827,7 @@ static const struct of_device_id qcom_pc
        { .compatible = "qcom,pcie-apq8064", .data = &cfg_2_1_0 },
        { .compatible = "qcom,pcie-apq8084", .data = &cfg_1_0_0 },
        { .compatible = "qcom,pcie-ipq4019", .data = &cfg_2_4_0 },