[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 06/56] hw/sh4: Remove sh7750_register_io_device() helper
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 06/56] hw/sh4: Remove sh7750_register_io_device() helper |
Date: |
Wed, 11 Sep 2024 14:13:31 +0200 |
sh7750_register_io_device() was only used by the TC58128
NAND EEPROM which has been removed in the previous commit.
Remove it as unused code.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Message-ID: <20240903153959.18392-4-philmd@linaro.org>
---
include/hw/sh4/sh.h | 16 -------------
hw/sh4/sh7750.c | 57 ++-------------------------------------------
2 files changed, 2 insertions(+), 71 deletions(-)
diff --git a/include/hw/sh4/sh.h b/include/hw/sh4/sh.h
index b726b987cc..c82feef8d0 100644
--- a/include/hw/sh4/sh.h
+++ b/include/hw/sh4/sh.h
@@ -38,22 +38,6 @@ struct SH7750State;
struct SH7750State *sh7750_init(SuperHCPU *cpu, MemoryRegion *sysmem);
-typedef struct {
- /* The callback will be triggered if any of the designated lines change */
- uint16_t portamask_trigger;
- uint16_t portbmask_trigger;
- /* Return 0 if no action was taken */
- int (*port_change_cb) (uint16_t porta, uint16_t portb,
- uint16_t *periph_pdtra,
- uint16_t *periph_portdira,
- uint16_t *periph_pdtrb,
- uint16_t *periph_portdirb);
-} sh7750_io_device;
-
-int sh7750_register_io_device(struct SH7750State *s,
- sh7750_io_device *device);
-
-/* sh_serial.c */
#define TYPE_SH_SERIAL "sh-serial"
#define SH_SERIAL_FEAT_SCIF (1 << 0)
diff --git a/hw/sh4/sh7750.c b/hw/sh4/sh7750.c
index ebe0fd96d9..8041b3b651 100644
--- a/hw/sh4/sh7750.c
+++ b/hw/sh4/sh7750.c
@@ -38,8 +38,6 @@
#include "exec/exec-all.h"
#include "trace.h"
-#define NB_DEVICES 4
-
typedef struct SH7750State {
MemoryRegion iomem;
MemoryRegion iomem_1f0;
@@ -75,7 +73,6 @@ typedef struct SH7750State {
uint16_t periph_portdira; /* Direction seen from the peripherals */
uint16_t periph_pdtrb; /* Imposed by the peripherals */
uint16_t periph_portdirb; /* Direction seen from the peripherals */
- sh7750_io_device *devices[NB_DEVICES]; /* External peripherals */
/* Cache */
uint32_t ccr;
@@ -92,19 +89,6 @@ static inline int has_bcr3_and_bcr4(SH7750State *s)
* I/O ports
*/
-int sh7750_register_io_device(SH7750State *s, sh7750_io_device *device)
-{
- int i;
-
- for (i = 0; i < NB_DEVICES; i++) {
- if (s->devices[i] == NULL) {
- s->devices[i] = device;
- return 0;
- }
- }
- return -1;
-}
-
static uint16_t portdir(uint32_t v)
{
#define EVENPORTMASK(n) ((v & (1 << ((n) << 1))) >> (n))
@@ -142,63 +126,26 @@ static uint16_t portb_lines(SH7750State *s)
(~(s->portdirb | s->periph_portdirb) & s->portpullupb); /* Pullups */
}
-static void gen_port_interrupts(SH7750State *s)
-{
- /* XXXXX interrupts not generated */
-}
-
static void porta_changed(SH7750State *s, uint16_t prev)
{
- uint16_t currenta, changes;
- int i, r = 0;
+ uint16_t currenta;
currenta = porta_lines(s);
if (currenta == prev) {
return;
}
trace_sh7750_porta(prev, currenta, s->pdtra, s->pctra);
- changes = currenta ^ prev;
-
- for (i = 0; i < NB_DEVICES; i++) {
- if (s->devices[i] && (s->devices[i]->portamask_trigger & changes)) {
- r |= s->devices[i]->port_change_cb(currenta, portb_lines(s),
- &s->periph_pdtra,
- &s->periph_portdira,
- &s->periph_pdtrb,
- &s->periph_portdirb);
- }
- }
-
- if (r) {
- gen_port_interrupts(s);
- }
}
static void portb_changed(SH7750State *s, uint16_t prev)
{
- uint16_t currentb, changes;
- int i, r = 0;
+ uint16_t currentb;
currentb = portb_lines(s);
if (currentb == prev) {
return;
}
trace_sh7750_portb(prev, currentb, s->pdtrb, s->pctrb);
- changes = currentb ^ prev;
-
- for (i = 0; i < NB_DEVICES; i++) {
- if (s->devices[i] && (s->devices[i]->portbmask_trigger & changes)) {
- r |= s->devices[i]->port_change_cb(portb_lines(s), currentb,
- &s->periph_pdtra,
- &s->periph_portdira,
- &s->periph_pdtrb,
- &s->periph_portdirb);
- }
- }
-
- if (r) {
- gen_port_interrupts(s);
- }
}
/*
--
2.45.2
- [PULL 00/56] Misc HW & UI patches, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 01/56] hw/pci-host/designware: Declare CPU QOM types using DEFINE_TYPES() macro, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 02/56] hw/pci-host/designware: Add 'host_mem' variable for clarity, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 03/56] hw/intc/loongson_ipi: Remove unused headers, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 04/56] hw/sh4: Remove the deprecated SHIX machine, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 05/56] hw/block: Remove TC58128 NAND EEPROM, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 09/56] buildsys: Remove CRIS cross container, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 08/56] tests/tcg: Remove CRIS bare test files, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 07/56] tests/tcg: Remove CRIS libc test files, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 06/56] hw/sh4: Remove sh7750_register_io_device() helper,
Philippe Mathieu-Daudé <=
- [PULL 10/56] linux-user: Remove support for CRIS target, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 11/56] hw/cris: Remove the axis-dev88 machine, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 12/56] hw/cris: Remove image loader helper, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 13/56] hw/intc: Remove TYPE_ETRAX_FS_PIC device, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 14/56] hw/char: Remove TYPE_ETRAX_FS_SERIAL device, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 15/56] hw/net: Remove TYPE_ETRAX_FS_ETH device, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 16/56] hw/dma: Remove ETRAX_FS DMA device, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 17/56] hw/timer: Remove TYPE_ETRAX_FS_TIMER device, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 18/56] system: Remove support for CRIS target, Philippe Mathieu-Daudé, 2024/09/11
- [PULL 22/56] hw/audio/virtio-sound: fix heap buffer overflow, Philippe Mathieu-Daudé, 2024/09/11