Re: [RFC PATCH] fbdev: maxinefb: fix build issues
From: Randy Dunlap
Date: Thu Aug 13 2026 - 17:46:55 EST
On 8/13/26 10:31 AM, Maciej W. Rozycki wrote:
> 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.
OK, I'll work on that.
--
~Randy