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:
PulkoMandy
2024-04-15 16:02:49 +00:00
committed by waddlesplash
parent 98afcfa72a
commit 99351a72d3
3 changed files with 45 additions and 15 deletions
+1 -1
View File
@@ -682,7 +682,7 @@ rule ArchitectureSetupWarnings architecture
EnableWerror src add-ons kernel drivers audio hda ;
EnableWerror src add-ons kernel drivers audio ice1712 ;
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 virtio ;
EnableWerror src add-ons kernel drivers bluetooth ;
@@ -13,8 +13,10 @@
#include <drivers/ISA.h>
static isa_module_info* gISA;
static void
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);
}
static int
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);
}
static void
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);
}
static int
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;
}
#if 0
// TODO for recording support
static void
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;
}
static void
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;
if (mask & 0x80)
dev->dma16 = 7;
}
static void
}
#endif
static void
hw_codec_write_irq_setup(sb16_dev_t* dev)
{
{
/* change programmable IRQ line resource */
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);
}
static void
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));
}
static int32
hw_codec_inth(void* cookie)
{
@@ -188,7 +202,6 @@ hw_codec_inth(void* cookie)
}
static status_t
hw_codec_reset(sb16_dev_t* dev)
{
@@ -210,6 +223,7 @@ hw_codec_reset(sb16_dev_t* dev)
return B_IO_ERROR;
}
static status_t
hw_codec_detect(sb16_dev_t* dev)
{
@@ -228,33 +242,40 @@ hw_codec_detect(sb16_dev_t* dev)
return rc;
}
//#pragma mark -
status_t
sb16_stream_setup_buffers(sb16_dev_t* dev, sb16_stream_t* s, const char* desc)
{
return B_OK;
}
status_t
sb16_stream_start(sb16_dev_t* dev, sb16_stream_t* s)
{
return B_OK;
}
status_t
sb16_stream_stop(sb16_dev_t* dev, sb16_stream_t* s)
{
return B_OK;
}
void
sb16_stream_buffer_done(sb16_stream_t* stream)
{
}
//#pragma mark -
status_t
sb16_hw_init(sb16_dev_t* dev)
{
@@ -275,11 +296,13 @@ sb16_hw_init(sb16_dev_t* dev)
return rc;
}
void
sb16_hw_stop(sb16_dev_t* dev)
{
}
void
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 record_sample_size = dev->record_stream.sample_size;
uint32 cidx, bidx;
int32 bidx;
int32 cidx;
status_t rc;
dprintf("%s: playback: %ld buffers, %ld channels, %ld samples\n", __func__,
data->request_playback_buffers, data->request_playback_channels, data->request_playback_buffer_size);
dprintf("%s: record: %ld buffers, %ld channels, %ld samples\n", __func__,
data->request_record_buffers, data->request_record_channels, data->request_record_buffer_size);
dprintf("%s: playback: %" B_PRId32 " buffers, %" B_PRIu32 " channels, %" B_PRIu32 " samples\n",
__func__, data->request_playback_buffers, data->request_playback_channels,
data->request_playback_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
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 (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].stride = playback_sample_size * data->return_playback_channels;
data->playback_buffers[bidx][cidx].base
= (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 (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].stride = record_sample_size * data->return_record_channels;
data->record_buffers[bidx][cidx].base
= (char*)dev->record_stream.buffers[bidx] + (record_sample_size * cidx);
data->record_buffers[bidx][cidx].stride
= record_sample_size * data->return_record_channels;
}
}