Changeset 24abb85d in mainline for kernel/generic/src/ipc


Ignore:
Timestamp:
2017-08-18T23:27:08Z (8 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4d76cfc
Parents:
e9d15d9
Message:

Remove SYS_DEVICE_ASSIGN_DEVNO

Location:
kernel/generic/src/ipc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ipc/irq.c

    re9d15d9 r24abb85d  
    294294 * @param box     Receiving answerbox.
    295295 * @param inr     IRQ number.
    296  * @param devno   Device number.
    297296 * @param imethod Interface and method to be associated with the
    298297 *                notification.
     
    303302 *
    304303 */
    305 int ipc_irq_subscribe(answerbox_t *box, inr_t inr, devno_t devno,
    306     sysarg_t imethod, irq_code_t *ucode)
     304int ipc_irq_subscribe(answerbox_t *box, inr_t inr, sysarg_t imethod,
     305    irq_code_t *ucode)
    307306{
    308307        sysarg_t key[] = {
    309                 (sysarg_t) inr,
    310                 (sysarg_t) devno
     308                [IRQ_HT_KEY_INR] = (sysarg_t) inr,
     309                [IRQ_HT_KEY_MODE] = (sysarg_t) IRQ_HT_MODE_NO_CLAIM
    311310        };
    312311       
     
    334333        irq_t *irq = &kobj->irq;
    335334        irq_initialize(irq);
    336         irq->devno = devno;
    337335        irq->inr = inr;
    338336        irq->claim = ipc_irq_top_half_claim;
     
    349347         */
    350348        irq_spinlock_lock(&irq_uspace_hash_table_lock, true);
    351        
    352         link_t *hlp = hash_table_find(&irq_uspace_hash_table, key);
    353         if (hlp) {
    354                 irq_t *hirq = hash_table_get_instance(hlp, irq_t, link);
    355                
    356                 /* hirq is locked */
    357                 irq_spinlock_unlock(&hirq->lock, false);
    358                 code_free(code);
    359                 irq_spinlock_unlock(&irq_uspace_hash_table_lock, true);
    360                
    361                 kobject_free(TASK, cap);
    362                 return EEXIST;
    363         }
    364        
    365         /* Locking is not really necessary, but paranoid */
    366349        irq_spinlock_lock(&irq->lock, false);
    367350        irq_spinlock_lock(&box->irq_lock, false);
  • kernel/generic/src/ipc/sysipc.c

    re9d15d9 r24abb85d  
    801801 *
    802802 * @param inr     IRQ number.
    803  * @param devno   Device number.
    804803 * @param imethod Interface and method to be associated with the notification.
    805804 * @param ucode   Uspace pointer to the top-half pseudocode.
     
    810809 *
    811810 */
    812 sysarg_t sys_ipc_irq_subscribe(inr_t inr, devno_t devno, sysarg_t imethod,
    813     irq_code_t *ucode)
     811sysarg_t sys_ipc_irq_subscribe(inr_t inr, sysarg_t imethod, irq_code_t *ucode)
    814812{
    815813        if (!(perm_get(TASK) & PERM_IRQ_REG))
    816814                return EPERM;
    817815       
    818         return ipc_irq_subscribe(&TASK->answerbox, inr, devno, imethod, ucode);
     816        return ipc_irq_subscribe(&TASK->answerbox, inr, imethod, ucode);
    819817}
    820818
Note: See TracChangeset for help on using the changeset viewer.