Abstract out x86-specific code in ddk750_init_hw() to improve portability and adhere to kernel coding standards. Replaces architecture-specific defines with CONFIG_X86 checks. Fixes checkpatch warning: - CHECK: architecture specific defines should be avoided. Changes made: - Create a new function sm750le_set_graphic_mode to encapsulate architecture specifc behaviour. - Using CONFIG_X86 instead of i386 and x86. - Added placeholder for non-x86 architectures in sm750le_set_graphic_mode function. Signed-off-by: Riyan Dhiman <riyandhiman14@xxxxxxxxx> --- drivers/staging/sm750fb/ddk750_chip.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/staging/sm750fb/ddk750_chip.c b/drivers/staging/sm750fb/ddk750_chip.c index 02860d3ec365..23196070bceb 100644 --- a/drivers/staging/sm750fb/ddk750_chip.c +++ b/drivers/staging/sm750fb/ddk750_chip.c @@ -210,6 +210,17 @@ unsigned int ddk750_get_vm_size(void) return data; } +static void sm750le_set_graphic_mode(void) +{ +#ifdef CONFIG_X86 + outb_p(0x88, 0x3d4); + outb_p(0x06, 0x3d5); +#else + /* Implement an alternative method for non-x86 architectures */ + /* This might involve memory-mapped I/O or other chip-specific methods */ +#endif +} + int ddk750_init_hw(struct initchip_param *p_init_param) { unsigned int reg; @@ -229,11 +240,7 @@ int ddk750_init_hw(struct initchip_param *p_init_param) reg |= (VGA_CONFIGURATION_PLL | VGA_CONFIGURATION_MODE); poke32(VGA_CONFIGURATION, reg); } else { -#if defined(__i386__) || defined(__x86_64__) - /* set graphic mode via IO method */ - outb_p(0x88, 0x3d4); - outb_p(0x06, 0x3d5); -#endif + sm750le_set_graphic_mode(); } /* Set the Main Chip Clock */ -- 2.46.0