summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Zimmermann <tzimmermann@suse.de>2023-12-20 14:22:54 +0100
committerHelge Deller <deller@gmx.de>2024-01-12 12:38:37 +0100
commit12b8de566fa9ec428e724f955735fd1ca278ca4c (patch)
treeecac6b931d047e2da62de80889da11a7efc9a4e4
parent33cd6ea9c0673517cdb06ad5c915c6f22e9615fc (diff)
video/sticore: Store ROM device in STI struct
Store the ROM's parent device in each STI struct, so we can associate the STI framebuffer with a device. The new field will eventually replace the fbdev subsystem's info field, which the function fb_is_primary_device() currently requires to detect the firmware's output. By using the device instead of the framebuffer info, a later patch can generalize the helper for use in non-fbdev code. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Helge Deller <deller@gmx.de>
-rw-r--r--drivers/video/sticore.c5
-rw-r--r--include/video/sticore.h4
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/sticore.c b/drivers/video/sticore.c
index c3765ad6eedf..7115b325817f 100644
--- a/drivers/video/sticore.c
+++ b/drivers/video/sticore.c
@@ -1041,6 +1041,9 @@ static int __init sticore_pa_init(struct parisc_device *dev)
print_pa_hwpath(dev, sti->pa_path);
sticore_check_for_default_sti(sti, sti->pa_path);
+
+ sti->dev = &dev->dev;
+
return 0;
}
@@ -1084,6 +1087,8 @@ static int sticore_pci_init(struct pci_dev *pd, const struct pci_device_id *ent)
pr_warn("Unable to handle STI device '%s'\n", pci_name(pd));
return -ENODEV;
}
+
+ sti->dev = &pd->dev;
#endif /* CONFIG_PCI */
return 0;
diff --git a/include/video/sticore.h b/include/video/sticore.h
index 012b5b46ad7d..9d993e22805d 100644
--- a/include/video/sticore.h
+++ b/include/video/sticore.h
@@ -2,6 +2,7 @@
#ifndef STICORE_H
#define STICORE_H
+struct device;
struct fb_info;
/* generic STI structures & functions */
@@ -370,6 +371,9 @@ struct sti_struct {
/* pointer to the fb_info where this STI device is used */
struct fb_info *info;
+ /* pointer to the parent device */
+ struct device *dev;
+
/* pointer to all internal data */
struct sti_all_data *sti_data;