Re: [RFC PATCH] fbdev: maxinefb: fix build issues
From: Maciej W. Rozycki
Date: Thu Aug 13 2026 - 13:35:17 EST
On Sun, 9 Aug 2026, Randy Dunlap wrote:
> This is all ancient source code from the beginning of git time.
I can dig out any further details you may need from the old LMO git tree.
Eventually it's planned to be put back online, but resources.
> Now builds cleanly on 32-bit and 64-bit MACH_DECSTATION.
Thanks for doing this work.
> Suggested-by: "Maciej W. Rozycki" <macro@xxxxxxxxxxx> # for s/KSEG1ADDR/CKSEG1ADDR/
Eventually this code should be converted to a platform device, so such
hacks won't be necessary. Sadly I declined an offer back in 2009 and I
have been chasing a specimen for a while now. And since it's an onboard
device unlike all the TURBOchannel framebuffers, there's no alternative.
> --- linux-next-20260807.orig/drivers/video/fbdev/maxinefb.c
> +++ linux-next-20260807/drivers/video/fbdev/maxinefb.c
> @@ -71,19 +71,6 @@ void maxinefb_ims332_write_register(int
> *((volatile unsigned short *) (wptr)) = val;
> }
>
> -unsigned int maxinefb_ims332_read_register(int regno)
> -{
> - register unsigned char *regs = (char *) MAXINEFB_IMS332_ADDRESS;
> - unsigned char *rptr;
> - register unsigned int j, k;
> -
> - rptr = regs + 0x80000 + (regno << 4);
> - j = *((volatile unsigned short *) rptr);
> - k = *((volatile unsigned short *) regs);
> -
> - return (j & 0xffff) | ((k & 0xff00) << 8);
> -}
> -
> /* Set the palette */
> static int maxinefb_setcolreg(unsigned regno, unsigned red, unsigned green,
> unsigned blue, unsigned transp, struct fb_info *info)
It might be worth mentioning in the change description that this is dead
code (and overall provide a summary as to making functions static, etc.).
Though I'm not entirely convinced as to the removal since this function
documents the hardware interface, which must have been the intent to put
it there. Perhaps #if 0?
> --- linux-next-20260807.orig/include/video/maxinefb.h
> +++ linux-next-20260807/include/video/maxinefb.h
> @@ -13,13 +13,13 @@
> /*
> * IMS332 video controller register base address
> */
> -#define MAXINEFB_IMS332_ADDRESS KSEG1ADDR(0x1c140000)
> +#define MAXINEFB_IMS332_ADDRESS CKSEG1ADDR(0x1c140000)
>
> /*
> * Begin of DECstation 5000/xx onboard framebuffer memory, default resolution
> * is 1024x768x8
> */
> -#define DS5000_xx_ONBOARD_FBMEM_START KSEG1ADDR(0x0a000000)
> +#define DS5000_xx_ONBOARD_FBMEM_START CKSEG1ADDR(0x0a000000)
>
> /*
> * The IMS 332 video controller used in the DECstation 5000/xx series
This would probably best be a separate change, especially as it's not
needed for 32BIT.
I'm not sure how the actual maintainers see it (I should probably list
myself for all the scattered DECstation stuff), but I think this would
best be a patch series of 3 for each of the individual classes of fixes.
And since this borders on the obvious I wouldn't be too concerned as to
the change descriptions; just one sentence plus the relevant error message
quoted will do. And your introduction should suffice as the cover letter.
Let me know if this works for you and if you post such a series, I'll ack
it right away.
Maciej