sb16: enable -Werror
Change-Id: I990362cd764e3a219e5022a62264b76be4cdf80c Reviewed-on: https://review.haiku-os.org/c/haiku/+/7620 Tested-by: Commit checker robot <[email protected]> Reviewed-by: Alexander von Gluck <[email protected]>
This commit is contained in:
@@ -682,7 +682,7 @@ rule ArchitectureSetupWarnings architecture
|
|||||||
EnableWerror src add-ons kernel drivers audio hda ;
|
EnableWerror src add-ons kernel drivers audio hda ;
|
||||||
EnableWerror src add-ons kernel drivers audio ice1712 ;
|
EnableWerror src add-ons kernel drivers audio ice1712 ;
|
||||||
EnableWerror src add-ons kernel drivers audio null ;
|
EnableWerror src add-ons kernel drivers audio null ;
|
||||||
# EnableWerror src add-ons kernel drivers audio sb16 ;
|
EnableWerror src add-ons kernel drivers audio sb16 ;
|
||||||
EnableWerror src add-ons kernel drivers audio usb ;
|
EnableWerror src add-ons kernel drivers audio usb ;
|
||||||
EnableWerror src add-ons kernel drivers audio virtio ;
|
EnableWerror src add-ons kernel drivers audio virtio ;
|
||||||
EnableWerror src add-ons kernel drivers bluetooth ;
|
EnableWerror src add-ons kernel drivers bluetooth ;
|
||||||
|
|||||||
@@ -13,8 +13,10 @@
|
|||||||
|
|
||||||
#include <drivers/ISA.h>
|
#include <drivers/ISA.h>
|
||||||
|
|
||||||
|
|
||||||
static isa_module_info* gISA;
|
static isa_module_info* gISA;
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
hw_codec_write_byte(sb16_dev_t* dev, uint8 value)
|
hw_codec_write_byte(sb16_dev_t* dev, uint8 value)
|
||||||
{
|
{
|
||||||
@@ -30,6 +32,7 @@ hw_codec_write_byte(sb16_dev_t* dev, uint8 value)
|
|||||||
gISA->write_io_8(dev->port + SB16_CODEC_WRITE_DATA, value);
|
gISA->write_io_8(dev->port + SB16_CODEC_WRITE_DATA, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
hw_codec_read_byte(sb16_dev_t* dev)
|
hw_codec_read_byte(sb16_dev_t* dev)
|
||||||
{
|
{
|
||||||
@@ -44,6 +47,7 @@ hw_codec_read_byte(sb16_dev_t* dev)
|
|||||||
return gISA->read_io_8(dev->port + SB16_CODEC_READ_DATA);
|
return gISA->read_io_8(dev->port + SB16_CODEC_READ_DATA);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
hw_codec_reg_write(sb16_dev_t* dev, uint8 index, uint8 value)
|
hw_codec_reg_write(sb16_dev_t* dev, uint8 index, uint8 value)
|
||||||
{
|
{
|
||||||
@@ -52,6 +56,7 @@ hw_codec_reg_write(sb16_dev_t* dev, uint8 index, uint8 value)
|
|||||||
gISA->write_io_8(dev->port + SB16_MIXER_DATA, value);
|
gISA->write_io_8(dev->port + SB16_MIXER_DATA, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
hw_codec_reg_read(sb16_dev_t* dev, uint8 index)
|
hw_codec_reg_read(sb16_dev_t* dev, uint8 index)
|
||||||
{
|
{
|
||||||
@@ -76,6 +81,10 @@ hw_codec_read_version(sb16_dev_t* dev)
|
|||||||
return (major << 8) + minor;
|
return (major << 8) + minor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
// TODO for recording support
|
||||||
|
|
||||||
static void
|
static void
|
||||||
hw_codec_read_irq_setup(sb16_dev_t* dev)
|
hw_codec_read_irq_setup(sb16_dev_t* dev)
|
||||||
{
|
{
|
||||||
@@ -94,6 +103,7 @@ hw_codec_read_irq_setup(sb16_dev_t* dev)
|
|||||||
dev->irq = 10;
|
dev->irq = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
hw_codec_read_dma_setup(sb16_dev_t* dev)
|
hw_codec_read_dma_setup(sb16_dev_t* dev)
|
||||||
{
|
{
|
||||||
@@ -116,11 +126,13 @@ hw_codec_read_dma_setup(sb16_dev_t* dev)
|
|||||||
dev->dma16 = 6;
|
dev->dma16 = 6;
|
||||||
if (mask & 0x80)
|
if (mask & 0x80)
|
||||||
dev->dma16 = 7;
|
dev->dma16 = 7;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
static void
|
|
||||||
|
|
||||||
|
static void
|
||||||
hw_codec_write_irq_setup(sb16_dev_t* dev)
|
hw_codec_write_irq_setup(sb16_dev_t* dev)
|
||||||
{
|
{
|
||||||
/* change programmable IRQ line resource */
|
/* change programmable IRQ line resource */
|
||||||
int mask = 0x02;
|
int mask = 0x02;
|
||||||
|
|
||||||
@@ -136,6 +148,7 @@ hw_codec_write_irq_setup(sb16_dev_t* dev)
|
|||||||
hw_codec_reg_write(dev, SB16_IRQ_SETUP, mask);
|
hw_codec_reg_write(dev, SB16_IRQ_SETUP, mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
hw_codec_write_dma_setup(sb16_dev_t* dev)
|
hw_codec_write_dma_setup(sb16_dev_t* dev)
|
||||||
{
|
{
|
||||||
@@ -143,6 +156,7 @@ hw_codec_write_dma_setup(sb16_dev_t* dev)
|
|||||||
hw_codec_reg_write(dev, SB16_DMA_SETUP, (1 << dev->dma8) | (1 << dev->dma16));
|
hw_codec_reg_write(dev, SB16_DMA_SETUP, (1 << dev->dma8) | (1 << dev->dma16));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int32
|
static int32
|
||||||
hw_codec_inth(void* cookie)
|
hw_codec_inth(void* cookie)
|
||||||
{
|
{
|
||||||
@@ -188,7 +202,6 @@ hw_codec_inth(void* cookie)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static status_t
|
static status_t
|
||||||
hw_codec_reset(sb16_dev_t* dev)
|
hw_codec_reset(sb16_dev_t* dev)
|
||||||
{
|
{
|
||||||
@@ -210,6 +223,7 @@ hw_codec_reset(sb16_dev_t* dev)
|
|||||||
return B_IO_ERROR;
|
return B_IO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static status_t
|
static status_t
|
||||||
hw_codec_detect(sb16_dev_t* dev)
|
hw_codec_detect(sb16_dev_t* dev)
|
||||||
{
|
{
|
||||||
@@ -228,33 +242,40 @@ hw_codec_detect(sb16_dev_t* dev)
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//#pragma mark -
|
//#pragma mark -
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
sb16_stream_setup_buffers(sb16_dev_t* dev, sb16_stream_t* s, const char* desc)
|
sb16_stream_setup_buffers(sb16_dev_t* dev, sb16_stream_t* s, const char* desc)
|
||||||
{
|
{
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
sb16_stream_start(sb16_dev_t* dev, sb16_stream_t* s)
|
sb16_stream_start(sb16_dev_t* dev, sb16_stream_t* s)
|
||||||
{
|
{
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
sb16_stream_stop(sb16_dev_t* dev, sb16_stream_t* s)
|
sb16_stream_stop(sb16_dev_t* dev, sb16_stream_t* s)
|
||||||
{
|
{
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
sb16_stream_buffer_done(sb16_stream_t* stream)
|
sb16_stream_buffer_done(sb16_stream_t* stream)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//#pragma mark -
|
//#pragma mark -
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
sb16_hw_init(sb16_dev_t* dev)
|
sb16_hw_init(sb16_dev_t* dev)
|
||||||
{
|
{
|
||||||
@@ -275,11 +296,13 @@ sb16_hw_init(sb16_dev_t* dev)
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
sb16_hw_stop(sb16_dev_t* dev)
|
sb16_hw_stop(sb16_dev_t* dev)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
sb16_hw_uninit(sb16_dev_t* dev)
|
sb16_hw_uninit(sb16_dev_t* dev)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -148,13 +148,16 @@ get_buffers(sb16_dev_t* dev, multi_buffer_list* data)
|
|||||||
{
|
{
|
||||||
uint32 playback_sample_size = dev->playback_stream.sample_size;
|
uint32 playback_sample_size = dev->playback_stream.sample_size;
|
||||||
uint32 record_sample_size = dev->record_stream.sample_size;
|
uint32 record_sample_size = dev->record_stream.sample_size;
|
||||||
uint32 cidx, bidx;
|
int32 bidx;
|
||||||
|
int32 cidx;
|
||||||
status_t rc;
|
status_t rc;
|
||||||
|
|
||||||
dprintf("%s: playback: %ld buffers, %ld channels, %ld samples\n", __func__,
|
dprintf("%s: playback: %" B_PRId32 " buffers, %" B_PRIu32 " channels, %" B_PRIu32 " samples\n",
|
||||||
data->request_playback_buffers, data->request_playback_channels, data->request_playback_buffer_size);
|
__func__, data->request_playback_buffers, data->request_playback_channels,
|
||||||
dprintf("%s: record: %ld buffers, %ld channels, %ld samples\n", __func__,
|
data->request_playback_buffer_size);
|
||||||
data->request_record_buffers, data->request_record_channels, data->request_record_buffer_size);
|
dprintf("%s: record: %" B_PRId32 " buffers, %" B_PRIu32 " channels, %" B_PRIu32 " samples\n",
|
||||||
|
__func__, data->request_record_buffers, data->request_record_channels,
|
||||||
|
data->request_record_buffer_size);
|
||||||
|
|
||||||
/* Workaround for Haiku multi_audio API, since it prefers to let the driver pick
|
/* Workaround for Haiku multi_audio API, since it prefers to let the driver pick
|
||||||
values, while the BeOS multi_audio actually gives the user's defaults. */
|
values, while the BeOS multi_audio actually gives the user's defaults. */
|
||||||
@@ -202,8 +205,10 @@ get_buffers(sb16_dev_t* dev, multi_buffer_list* data)
|
|||||||
|
|
||||||
for (bidx=0; bidx < data->return_playback_buffers; bidx++) {
|
for (bidx=0; bidx < data->return_playback_buffers; bidx++) {
|
||||||
for (cidx=0; cidx < data->return_playback_channels; cidx++) {
|
for (cidx=0; cidx < data->return_playback_channels; cidx++) {
|
||||||
data->playback_buffers[bidx][cidx].base = dev->playback_stream.buffers[bidx] + (playback_sample_size * cidx);
|
data->playback_buffers[bidx][cidx].base
|
||||||
data->playback_buffers[bidx][cidx].stride = playback_sample_size * data->return_playback_channels;
|
= (char*)dev->playback_stream.buffers[bidx] + (playback_sample_size * cidx);
|
||||||
|
data->playback_buffers[bidx][cidx].stride
|
||||||
|
= playback_sample_size * data->return_playback_channels;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -213,8 +218,10 @@ get_buffers(sb16_dev_t* dev, multi_buffer_list* data)
|
|||||||
|
|
||||||
for (bidx=0; bidx < data->return_record_buffers; bidx++) {
|
for (bidx=0; bidx < data->return_record_buffers; bidx++) {
|
||||||
for (cidx=0; cidx < data->return_record_channels; cidx++) {
|
for (cidx=0; cidx < data->return_record_channels; cidx++) {
|
||||||
data->record_buffers[bidx][cidx].base = dev->record_stream.buffers[bidx] + (record_sample_size * cidx);
|
data->record_buffers[bidx][cidx].base
|
||||||
data->record_buffers[bidx][cidx].stride = record_sample_size * data->return_record_channels;
|
= (char*)dev->record_stream.buffers[bidx] + (record_sample_size * cidx);
|
||||||
|
data->record_buffers[bidx][cidx].stride
|
||||||
|
= record_sample_size * data->return_record_channels;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user