Commit b046f984 authored by Helge Deller's avatar Helge Deller

parisc/stifb: Keep track of hardware path of graphics card

Keep the pa_path (hardware path) of the graphics card in sti_struct and use
this info to give more useful info which card is currently being used.
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
Cc: stable@vger.kernel.org   # v5.10+
parent cf936af7
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/font.h> #include <linux/font.h>
#include <linux/crc32.h> #include <linux/crc32.h>
#include <linux/fb.h>
#include <asm/io.h> #include <asm/io.h>
...@@ -392,7 +393,9 @@ static int __init sticonsole_init(void) ...@@ -392,7 +393,9 @@ static int __init sticonsole_init(void)
for (i = 0; i < MAX_NR_CONSOLES; i++) for (i = 0; i < MAX_NR_CONSOLES; i++)
font_data[i] = STI_DEF_FONT; font_data[i] = STI_DEF_FONT;
pr_info("sticon: Initializing STI text console.\n"); pr_info("sticon: Initializing STI text console on %s at [%s]\n",
sticon_sti->sti_data->inq_outptr.dev_name,
sticon_sti->pa_path);
console_lock(); console_lock();
err = do_take_over_console(&sti_con, 0, MAX_NR_CONSOLES - 1, err = do_take_over_console(&sti_con, 0, MAX_NR_CONSOLES - 1,
PAGE0->mem_cons.cl_class != CL_DUPLEX); PAGE0->mem_cons.cl_class != CL_DUPLEX);
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
#include "../fbdev/sticore.h" #include "../fbdev/sticore.h"
#define STI_DRIVERVERSION "Version 0.9b" #define STI_DRIVERVERSION "Version 0.9c"
static struct sti_struct *default_sti __read_mostly; static struct sti_struct *default_sti __read_mostly;
...@@ -503,7 +503,7 @@ sti_select_fbfont(struct sti_cooked_rom *cooked_rom, const char *fbfont_name) ...@@ -503,7 +503,7 @@ sti_select_fbfont(struct sti_cooked_rom *cooked_rom, const char *fbfont_name)
if (!fbfont) if (!fbfont)
return NULL; return NULL;
pr_info("STI selected %ux%u framebuffer font %s for sticon\n", pr_info(" using %ux%u framebuffer font %s\n",
fbfont->width, fbfont->height, fbfont->name); fbfont->width, fbfont->height, fbfont->name);
bpc = ((fbfont->width+7)/8) * fbfont->height; bpc = ((fbfont->width+7)/8) * fbfont->height;
...@@ -947,6 +947,7 @@ static struct sti_struct *sti_try_rom_generic(unsigned long address, ...@@ -947,6 +947,7 @@ static struct sti_struct *sti_try_rom_generic(unsigned long address,
static void sticore_check_for_default_sti(struct sti_struct *sti, char *path) static void sticore_check_for_default_sti(struct sti_struct *sti, char *path)
{ {
pr_info(" located at [%s]\n", sti->pa_path);
if (strcmp (path, default_sti_path) == 0) if (strcmp (path, default_sti_path) == 0)
default_sti = sti; default_sti = sti;
} }
...@@ -958,7 +959,6 @@ static void sticore_check_for_default_sti(struct sti_struct *sti, char *path) ...@@ -958,7 +959,6 @@ static void sticore_check_for_default_sti(struct sti_struct *sti, char *path)
*/ */
static int __init sticore_pa_init(struct parisc_device *dev) static int __init sticore_pa_init(struct parisc_device *dev)
{ {
char pa_path[21];
struct sti_struct *sti = NULL; struct sti_struct *sti = NULL;
int hpa = dev->hpa.start; int hpa = dev->hpa.start;
...@@ -971,8 +971,8 @@ static int __init sticore_pa_init(struct parisc_device *dev) ...@@ -971,8 +971,8 @@ static int __init sticore_pa_init(struct parisc_device *dev)
if (!sti) if (!sti)
return 1; return 1;
print_pa_hwpath(dev, pa_path); print_pa_hwpath(dev, sti->pa_path);
sticore_check_for_default_sti(sti, pa_path); sticore_check_for_default_sti(sti, sti->pa_path);
return 0; return 0;
} }
...@@ -1008,9 +1008,8 @@ static int sticore_pci_init(struct pci_dev *pd, const struct pci_device_id *ent) ...@@ -1008,9 +1008,8 @@ static int sticore_pci_init(struct pci_dev *pd, const struct pci_device_id *ent)
sti = sti_try_rom_generic(rom_base, fb_base, pd); sti = sti_try_rom_generic(rom_base, fb_base, pd);
if (sti) { if (sti) {
char pa_path[30]; print_pci_hwpath(pd, sti->pa_path);
print_pci_hwpath(pd, pa_path); sticore_check_for_default_sti(sti, sti->pa_path);
sticore_check_for_default_sti(sti, pa_path);
} }
if (!sti) { if (!sti) {
......
...@@ -370,6 +370,9 @@ struct sti_struct { ...@@ -370,6 +370,9 @@ struct sti_struct {
/* pointer to all internal data */ /* pointer to all internal data */
struct sti_all_data *sti_data; struct sti_all_data *sti_data;
/* pa_path of this device */
char pa_path[24];
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment