mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-09-06 09:55:55 +00:00
nseries: attach monitor powerdown request to menelaus
I noticed some unused code in the twl92230, probably from before qdev-ification. This patch makes the machine use the chip's pwrbtn signal. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
This commit is contained in:
parent
6c263e26a5
commit
dd4427a619
|
@ -204,6 +204,8 @@ static void n8x0_i2c_setup(struct n800_s *s)
|
|||
qdev_get_gpio_in(s->cpu->ih[0],
|
||||
OMAP_INT_24XX_SYS_NIRQ));
|
||||
|
||||
qemu_system_powerdown = qdev_get_gpio_in(dev, 3);
|
||||
|
||||
/* Attach a TMP105 PM chip (A0 wired to ground) */
|
||||
dev = i2c_create_slave(s->i2c, "tmp105", N8X0_TMP105_ADDR);
|
||||
qdev_connect_gpio_out(dev, 0, tmp_irq);
|
||||
|
|
|
@ -61,9 +61,7 @@ typedef struct {
|
|||
} rtc;
|
||||
uint16_t rtc_next_vmstate;
|
||||
qemu_irq out[4];
|
||||
qemu_irq *in;
|
||||
uint8_t pwrbtn_state;
|
||||
qemu_irq pwrbtn;
|
||||
} MenelausState;
|
||||
|
||||
static inline void menelaus_update(MenelausState *s)
|
||||
|
@ -186,14 +184,12 @@ static void menelaus_gpio_set(void *opaque, int line, int level)
|
|||
{
|
||||
MenelausState *s = (MenelausState *) opaque;
|
||||
|
||||
/* No interrupt generated */
|
||||
s->inputs &= ~(1 << line);
|
||||
s->inputs |= level << line;
|
||||
}
|
||||
|
||||
static void menelaus_pwrbtn_set(void *opaque, int line, int level)
|
||||
{
|
||||
MenelausState *s = (MenelausState *) opaque;
|
||||
if (line < 3) {
|
||||
/* No interrupt generated */
|
||||
s->inputs &= ~(1 << line);
|
||||
s->inputs |= level << line;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!s->pwrbtn_state && level) {
|
||||
s->status |= 1 << 11; /* PSHBTN */
|
||||
|
@ -849,8 +845,9 @@ static int twl92230_init(I2CSlave *i2c)
|
|||
s->rtc.hz_tm = qemu_new_timer_ms(rt_clock, menelaus_rtc_hz, s);
|
||||
/* Three output pins plus one interrupt pin. */
|
||||
qdev_init_gpio_out(&i2c->qdev, s->out, 4);
|
||||
qdev_init_gpio_in(&i2c->qdev, menelaus_gpio_set, 3);
|
||||
s->pwrbtn = qemu_allocate_irqs(menelaus_pwrbtn_set, s, 1)[0];
|
||||
|
||||
/* Three input pins plus one power-button pin. */
|
||||
qdev_init_gpio_in(&i2c->qdev, menelaus_gpio_set, 4);
|
||||
|
||||
menelaus_reset(&s->i2c);
|
||||
|
||||
|
|
Loading…
Reference in a new issue