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@xxxxxxx> --- drivers/video/sticore.c | 5 +++++ include/video/sticore.h | 4 ++++ 2 files changed, 9 insertions(+) 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; -- 2.43.0