summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/53c7xx.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/53c7xx.h')
-rw-r--r--src/devices/machine/53c7xx.h15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/devices/machine/53c7xx.h b/src/devices/machine/53c7xx.h
index 8887a78a5ef..50d59c1d1b4 100644
--- a/src/devices/machine/53c7xx.h
+++ b/src/devices/machine/53c7xx.h
@@ -16,15 +16,6 @@
#include "machine/nscsi_bus.h"
-#define MCFG_NCR53C7XX_IRQ_HANDLER(_devcb) \
- downcast<ncr53c7xx_device &>(*device).set_irq_handler(DEVCB_##_devcb);
-
-#define MCFG_NCR53C7XX_HOST_WRITE(_devcb) \
- downcast<ncr53c7xx_device &>(*device).set_host_write(DEVCB_##_devcb);
-
-#define MCFG_NCR53C7XX_HOST_READ(_devcb) \
- downcast<ncr53c7xx_device &>(*device).set_host_read(DEVCB_##_devcb);
-
class ncr53c7xx_device : public nscsi_device, public device_execute_interface
{
public:
@@ -32,9 +23,9 @@ public:
ncr53c7xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// static configuration helpers
- template <class Object> devcb_base &set_irq_handler(Object &&cb) { return m_irq_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_host_write(Object &&cb) { return m_host_write.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_host_read(Object &&cb) { return m_host_read.set_callback(std::forward<Object>(cb)); }
+ auto irq_handler() { return m_irq_handler.bind(); }
+ auto host_write() { return m_host_write.bind(); }
+ auto host_read() { return m_host_read.bind(); }
// our API
DECLARE_READ32_MEMBER(read);