diff options
Diffstat (limited to 'src/mame/machine/esqpanel.h')
-rw-r--r-- | src/mame/machine/esqpanel.h | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/src/mame/machine/esqpanel.h b/src/mame/machine/esqpanel.h index de2e9918f83..3cd91a86fdc 100644 --- a/src/mame/machine/esqpanel.h +++ b/src/mame/machine/esqpanel.h @@ -51,10 +51,10 @@ MCFG_DEVICE_REMOVE(_tag) #define MCFG_ESQPANEL_TX_CALLBACK(_write) \ - devcb = &esqpanel_device::set_tx_wr_callback(*device, DEVCB_##_write); + devcb = &downcast<esqpanel_device &>(*device).set_tx_wr_callback(DEVCB_##_write); #define MCFG_ESQPANEL_ANALOG_CALLBACK(_write) \ - devcb = &esqpanel_device::set_analog_wr_callback(*device, DEVCB_##_write); + devcb = &downcast<esqpanel_device &>(*device).set_analog_wr_callback(DEVCB_##_write); //************************************************************************** // TYPE DEFINITIONS @@ -69,15 +69,9 @@ namespace esqpanel { class esqpanel_device : public device_t, public device_serial_interface { public: - template <class Object> - static devcb_base &set_tx_wr_callback(device_t &device, Object &&cb) { - return downcast<esqpanel_device &>(device).m_write_tx.set_callback(std::forward<Object>(cb)); - } - - template <class Object> - static devcb_base &set_analog_wr_callback(device_t &device, Object &&cb) { - return downcast<esqpanel_device &>(device).m_write_analog.set_callback(std::forward<Object>(cb)); - } + template <class Object> devcb_base &set_tx_wr_callback(Object &&cb) { return m_write_tx.set_callback(std::forward<Object>(cb)); } + + template <class Object> devcb_base &set_analog_wr_callback(Object &&cb) { return m_write_analog.set_callback(std::forward<Object>(cb)); } void xmit_char(uint8_t data); void set_analog_value(offs_t offset, uint16_t value); |