Changeset b25970f in mainline for uspace/drv/bus/isa/isa.c
- Timestamp:
- 2018-10-29T14:11:39Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 94ab1fee
- Parents:
- 184f2f8a
- git-author:
- Jiri Svoboda <jiri@…> (2018-10-28 22:10:25)
- git-committer:
- Jiri Svoboda <jiri@…> (2018-10-29 14:11:39)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/isa/isa.c
r184f2f8a rb25970f 1 1 /* 2 * Copyright (c) 2018 Jiri Svoboda 2 3 * Copyright (c) 2010 Lenka Trochtova 3 * Copyright (c) 2011 Jiri Svoboda4 4 * Copyright (c) 2011 Jan Vesely 5 5 * All rights reserved. … … 697 697 } 698 698 699 static errno_t isa_dev_add(ddf_dev_t *dev) 700 { 701 async_sess_t *sess; 699 static errno_t isa_read_pci_cfg(isa_bus_t *isa, async_sess_t *sess) 700 { 702 701 errno_t rc; 703 704 ddf_msg(LVL_DEBUG, "isa_dev_add, device handle = %d",705 (int) ddf_dev_get_handle(dev));706 707 isa_bus_t *isa = ddf_dev_data_alloc(dev, sizeof(isa_bus_t));708 if (isa == NULL)709 return ENOMEM;710 711 fibril_mutex_initialize(&isa->mutex);712 isa->dev = dev;713 list_initialize(&isa->functions);714 715 sess = ddf_dev_parent_sess_get(dev);716 if (sess == NULL) {717 ddf_msg(LVL_ERROR, "isa_dev_add failed to connect to the "718 "parent driver.");719 return ENOENT;720 }721 702 722 703 rc = pci_config_space_read_16(sess, PCI_VENDOR_ID, &isa->pci_vendor_id); … … 733 714 return rc; 734 715 716 return EOK; 717 } 718 719 static errno_t isa_dev_add(ddf_dev_t *dev) 720 { 721 async_sess_t *sess; 722 errno_t rc; 723 724 ddf_msg(LVL_DEBUG, "isa_dev_add, device handle = %d", 725 (int) ddf_dev_get_handle(dev)); 726 727 isa_bus_t *isa = ddf_dev_data_alloc(dev, sizeof(isa_bus_t)); 728 if (isa == NULL) 729 return ENOMEM; 730 731 fibril_mutex_initialize(&isa->mutex); 732 isa->dev = dev; 733 list_initialize(&isa->functions); 734 735 sess = ddf_dev_parent_sess_get(dev); 736 if (sess == NULL) { 737 ddf_msg(LVL_ERROR, "isa_dev_add failed to connect to the " 738 "parent driver."); 739 return ENOENT; 740 } 741 742 rc = isa_read_pci_cfg(isa, sess); 743 if (rc != EOK) { 744 ddf_msg(LVL_NOTE, "Cannot read PCI config. Assuming ISA classic."); 745 isa->pci_vendor_id = 0; 746 isa->pci_device_id = 0; 747 isa->pci_class = BASE_CLASS_BRIDGE; 748 isa->pci_subclass = SUB_CLASS_BRIDGE_ISA; 749 } 750 735 751 rc = pio_window_get(sess, &isa->pio_win); 736 752 if (rc != EOK) {
Note:
See TracChangeset
for help on using the changeset viewer.