mirror of https://gitee.com/openkylin/qemu.git
hw/audio/wm8750: move WM8750 declarations from i2c/i2c.h to audio/wm8750.h
while here use TYPE_WM8750 and declare a data_req_cb() typedef. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-id: 20170919123053.32675-1-f4bug@amsat.org Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
b05631954d
commit
7ab14c5ace
|
@ -25,6 +25,7 @@
|
|||
#include "hw/block/flash.h"
|
||||
#include "ui/console.h"
|
||||
#include "hw/i2c/i2c.h"
|
||||
#include "hw/audio/wm8750.h"
|
||||
#include "sysemu/block-backend.h"
|
||||
#include "exec/address-spaces.h"
|
||||
#include "ui/pixel_ops.h"
|
||||
|
@ -1691,7 +1692,7 @@ static void musicpal_init(MachineState *machine)
|
|||
qdev_connect_gpio_out(key_dev, i, qdev_get_gpio_in(dev, i + 15));
|
||||
}
|
||||
|
||||
wm8750_dev = i2c_create_slave(i2c, "wm8750", MP_WM_ADDR);
|
||||
wm8750_dev = i2c_create_slave(i2c, TYPE_WM8750, MP_WM_ADDR);
|
||||
dev = qdev_create(NULL, "mv88w8618_audio");
|
||||
s = SYS_BUS_DEVICE(dev);
|
||||
qdev_prop_set_ptr(dev, "wm8750", wm8750_dev);
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include "hw/devices.h"
|
||||
#include "hw/arm/sharpsl.h"
|
||||
#include "ui/console.h"
|
||||
#include "hw/audio/wm8750.h"
|
||||
#include "audio/audio.h"
|
||||
#include "hw/boards.h"
|
||||
#include "sysemu/block-backend.h"
|
||||
|
@ -745,7 +746,7 @@ static void spitz_i2c_setup(PXA2xxState *cpu)
|
|||
DeviceState *wm;
|
||||
|
||||
/* Attach a WM8750 to the bus */
|
||||
wm = i2c_create_slave(bus, "wm8750", 0);
|
||||
wm = i2c_create_slave(bus, TYPE_WM8750, 0);
|
||||
|
||||
spitz_wm8750_addr(wm, 0, 0);
|
||||
qdev_connect_gpio_out(cpu->gpio, SPITZ_GPIO_WM,
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "hw/block/flash.h"
|
||||
#include "sysemu/block-backend.h"
|
||||
#include "ui/console.h"
|
||||
#include "hw/audio/wm8750.h"
|
||||
#include "audio/audio.h"
|
||||
#include "exec/address-spaces.h"
|
||||
#include "sysemu/qtest.h"
|
||||
|
@ -346,7 +347,7 @@ static void z2_init(MachineState *machine)
|
|||
z2_lcd = ssi_create_slave(mpu->ssp[1], "zipit-lcd");
|
||||
bus = pxa2xx_i2c_bus(mpu->i2c[0]);
|
||||
i2c_create_slave(bus, TYPE_AER915, 0x55);
|
||||
wm = i2c_create_slave(bus, "wm8750", 0x1b);
|
||||
wm = i2c_create_slave(bus, TYPE_WM8750, 0x1b);
|
||||
mpu->i2s->opaque = wm;
|
||||
mpu->i2s->codec_out = wm8750_dac_dat;
|
||||
mpu->i2s->codec_in = wm8750_adc_dat;
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include "hw/sysbus.h"
|
||||
#include "hw/hw.h"
|
||||
#include "hw/i2c/i2c.h"
|
||||
#include "hw/audio/wm8750.h"
|
||||
#include "audio/audio.h"
|
||||
|
||||
#define MP_AUDIO_SIZE 0x00001000
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
*/
|
||||
|
||||
#include "qemu/osdep.h"
|
||||
#include "hw/hw.h"
|
||||
#include "hw/i2c/i2c.h"
|
||||
#include "hw/audio/wm8750.h"
|
||||
#include "audio/audio.h"
|
||||
|
||||
#define IN_PORT_N 3
|
||||
|
@ -24,7 +24,6 @@ typedef struct {
|
|||
int dac_hz;
|
||||
} WMRate;
|
||||
|
||||
#define TYPE_WM8750 "wm8750"
|
||||
#define WM8750(obj) OBJECT_CHECK(WM8750State, (obj), TYPE_WM8750)
|
||||
|
||||
typedef struct WM8750State {
|
||||
|
@ -639,8 +638,7 @@ static void wm8750_fini(I2CSlave *i2c)
|
|||
}
|
||||
#endif
|
||||
|
||||
void wm8750_data_req_set(DeviceState *dev,
|
||||
void (*data_req)(void *, int, int), void *opaque)
|
||||
void wm8750_data_req_set(DeviceState *dev, data_req_cb *data_req, void *opaque)
|
||||
{
|
||||
WM8750State *s = WM8750(dev);
|
||||
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2 or later, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef HW_DAC_WM8750_H
|
||||
#define HW_DAC_WM8750_H
|
||||
|
||||
#include "hw/hw.h"
|
||||
|
||||
#define TYPE_WM8750 "wm8750"
|
||||
|
||||
typedef void data_req_cb(void *opaque, int free_out, int free_in);
|
||||
|
||||
void wm8750_data_req_set(DeviceState *dev, data_req_cb *data_req, void *opaque);
|
||||
void wm8750_dac_dat(void *opaque, uint32_t sample);
|
||||
uint32_t wm8750_adc_dat(void *opaque);
|
||||
void *wm8750_dac_buffer(void *opaque, int samples);
|
||||
void wm8750_dac_commit(void *opaque);
|
||||
void wm8750_set_bclk_in(void *opaque, int new_hz);
|
||||
|
||||
#endif
|
|
@ -70,15 +70,6 @@ int i2c_recv(I2CBus *bus);
|
|||
|
||||
DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr);
|
||||
|
||||
/* wm8750.c */
|
||||
void wm8750_data_req_set(DeviceState *dev,
|
||||
void (*data_req)(void *, int, int), void *opaque);
|
||||
void wm8750_dac_dat(void *opaque, uint32_t sample);
|
||||
uint32_t wm8750_adc_dat(void *opaque);
|
||||
void *wm8750_dac_buffer(void *opaque, int samples);
|
||||
void wm8750_dac_commit(void *opaque);
|
||||
void wm8750_set_bclk_in(void *opaque, int new_hz);
|
||||
|
||||
/* lm832x.c */
|
||||
void lm832x_key_event(DeviceState *dev, int key, int state);
|
||||
|
||||
|
|
Loading…
Reference in New Issue