mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-11 17:10:13 +00:00
In the quest to make struct device constant, start by making to_auxiliary_drv() return a constant pointer so that drivers that call this can be fixed up before the driver core changes. As the return type previously was not constant, also fix up all callers that were assuming that the pointer was not going to be a constant one in order to not break the build. Cc: Dave Ertman <david.m.ertman@intel.com> Cc: Ira Weiny <ira.weiny@intel.com> Cc: Rafael J. Wysocki <rafael@kernel.org> Cc: Bingbu Cao <bingbu.cao@intel.com> Cc: Tianshu Qiu <tian.shu.qiu@intel.com> Cc: Mauro Carvalho Chehab <mchehab@kernel.org> Cc: Michael Chan <michael.chan@broadcom.com> Cc: David S. Miller <davem@davemloft.net> Cc: Eric Dumazet <edumazet@google.com> Cc: Jakub Kicinski <kuba@kernel.org> Cc: Paolo Abeni <pabeni@redhat.com> Cc: Jesse Brandeburg <jesse.brandeburg@intel.com> Cc: Tony Nguyen <anthony.l.nguyen@intel.com> Cc: Saeed Mahameed <saeedm@nvidia.com> Cc: Leon Romanovsky <leon@kernel.org> Cc: Tariq Toukan <tariqt@nvidia.com> Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Cc: Liam Girdwood <lgirdwood@gmail.com> Cc: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Cc: Bard Liao <yung-chuan.liao@linux.intel.com> Cc: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Cc: Daniel Baluta <daniel.baluta@nxp.com> Cc: Kai Vehmanen <kai.vehmanen@linux.intel.com> Cc: Jaroslav Kysela <perex@perex.cz> Cc: Takashi Iwai <tiwai@suse.com> Cc: Richard Cochran <richardcochran@gmail.com> Cc: linux-media@vger.kernel.org Cc: netdev@vger.kernel.org Cc: intel-wired-lan@lists.osuosl.org Cc: linux-rdma@vger.kernel.org Cc: sound-open-firmware@alsa-project.org Cc: linux-sound@vger.kernel.org Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> # drivers/media/pci/intel/ipu6 Acked-by: Mark Brown <broonie@kernel.org> Reviewed-by: Martin Habets <habetsm.xilinx@gmail.com> Link: https://lore.kernel.org/r/20240611130103.3262749-7-gregkh@linuxfoundation.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
59 lines
1.5 KiB
C
59 lines
1.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/* Copyright (C) 2013 - 2024 Intel Corporation */
|
|
|
|
#ifndef IPU6_BUS_H
|
|
#define IPU6_BUS_H
|
|
|
|
#include <linux/auxiliary_bus.h>
|
|
#include <linux/container_of.h>
|
|
#include <linux/device.h>
|
|
#include <linux/irqreturn.h>
|
|
#include <linux/list.h>
|
|
#include <linux/scatterlist.h>
|
|
#include <linux/types.h>
|
|
|
|
struct firmware;
|
|
struct pci_dev;
|
|
|
|
#define IPU6_BUS_NAME IPU6_NAME "-bus"
|
|
|
|
struct ipu6_buttress_ctrl;
|
|
|
|
struct ipu6_bus_device {
|
|
struct auxiliary_device auxdev;
|
|
const struct auxiliary_driver *auxdrv;
|
|
const struct ipu6_auxdrv_data *auxdrv_data;
|
|
struct list_head list;
|
|
void *pdata;
|
|
struct ipu6_mmu *mmu;
|
|
struct ipu6_device *isp;
|
|
struct ipu6_buttress_ctrl *ctrl;
|
|
u64 dma_mask;
|
|
const struct firmware *fw;
|
|
struct sg_table fw_sgt;
|
|
u64 *pkg_dir;
|
|
dma_addr_t pkg_dir_dma_addr;
|
|
unsigned int pkg_dir_size;
|
|
};
|
|
|
|
struct ipu6_auxdrv_data {
|
|
irqreturn_t (*isr)(struct ipu6_bus_device *adev);
|
|
irqreturn_t (*isr_threaded)(struct ipu6_bus_device *adev);
|
|
bool wake_isr_thread;
|
|
};
|
|
|
|
#define to_ipu6_bus_device(_dev) \
|
|
container_of(to_auxiliary_dev(_dev), struct ipu6_bus_device, auxdev)
|
|
#define auxdev_to_adev(_auxdev) \
|
|
container_of(_auxdev, struct ipu6_bus_device, auxdev)
|
|
#define ipu6_bus_get_drvdata(adev) dev_get_drvdata(&(adev)->auxdev.dev)
|
|
|
|
struct ipu6_bus_device *
|
|
ipu6_bus_initialize_device(struct pci_dev *pdev, struct device *parent,
|
|
void *pdata, struct ipu6_buttress_ctrl *ctrl,
|
|
char *name);
|
|
int ipu6_bus_add_device(struct ipu6_bus_device *adev);
|
|
void ipu6_bus_del_devices(struct pci_dev *pdev);
|
|
|
|
#endif
|